On Wed, Sep 16, 2009 at 03:43:19PM +0800, Xiangfu Liu wrote: > 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' > Keyboard driver supports 9 modifiers total, you should be able use one of these for your numeric buttons. -- Dmitry -- 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