Re: Fn + [KEYS] question

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

 



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

[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