Re: Fn + [KEYS] question

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Dmitry Torokhov wrote:
> On Wed, Sep 16, 2009 at 03:24:13PM +0800, Xiangfu Liu wrote:
>> Hi
>>
>> I know in the IBM laptop, you use Fn + F1 to do something.
>> I want [Fn + U = 7] in my device. 
>> when you press Fn + U in the terminal it will display '7'.
>>
>>
>> I look into the keyboard.c file.
>> but don't know which function is handle the Fn key?
>>
>> there is [1] in the keyboard.h file. I don't know 
>> which Fn key belong. is it KT_SHIFT???
>>
> 
> Fn in laptops usually handled by firmware (OS does not see the scancode
> for Fn at all). In your driver you will probably have to handle it
> manually and adjust which keycode you emit (KEY_Y or KEY_7) depending on
> whether Fn is active or not. I'd recommend not hardcoding KEY_* but
> actually "shift" to different part of driver keymap so userspace could
> change the keycodes if it wishes to do so.
Hi Dmitry
 thanks for the reply.
see [1], I change the [Red arrow] key to [ALTGR] then I can easy change the 
defkeymap.map. make all the red keys work.

but for the [Blue Fn] key. I don't know how to make it work in keymap?
there is [SHIFT] [CONTROL] [SHIFT] [ALTGR] four modifier keys.
all used. so I can not may the [Fn] to those four modifier keys.

can I make the leftAlt and rightAlt generate different keys?
like:
 LeftAlt + 'U' = Alt + 'U'
 RightAlt + 'U' = '7'

thanks for help.


[1] http://downloads.qi-hardware.com/hardware/mechanical/ben/2009_08_26/keyboard_problem_2.JPG
> 


-- 
Xiangfu Liu
Email: xiangfu at qi-hardware dot com
Web: http://www.qi-hardware.com
--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Media Devel]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Linux Wireless Networking]     [Linux Omap]

  Powered by Linux