Here is the output of "xev" while pressing and releasing the 'j' key (i.e.
without the 'Fn' key):
KeyPress event, serial 34, synthetic NO, window 0x2600001,
root 0x55, subw 0x0, time 203540, (340,244), root:(344,290),
state 0x10, keycode 87 (keysym 0xffb1, KP_1), same_screen YES,
XLookupString gives 1 bytes: (31) "1"
XmbLookupString gives 1 bytes: (31) "1"
XFilterEvent returns: False
KeyRelease event, serial 34, synthetic NO, window 0x2600001,
root 0x55, subw 0x0, time 203670, (340,244), root:(344,290),
state 0x10, keycode 87 (keysym 0xffb1, KP_1), same_screen YES,
XLookupString gives 1 bytes: (31) "1"
XFilterEvent returns: False
Now, by pressing 'Fn+j' :
KeyPress event, serial 34, synthetic NO, window 0x2600001,
root 0x55, subw 0x0, time 205218, (340,244), root:(344,290),
state 0x10, keycode 44 (keysym 0x6a, j), same_screen YES,
XLookupString gives 1 bytes: (6a) "j"
XmbLookupString gives 1 bytes: (6a) "j"
XFilterEvent returns: False
KeyRelease event, serial 34, synthetic NO, window 0x2600001,
root 0x55, subw 0x0, time 205402, (340,244), root:(344,290),
state 0x10, keycode 44 (keysym 0x6a, j), same_screen YES,
XLookupString gives 1 bytes: (6a) "j"
XFilterEvent returns: False
As you can see, it should be the opposite.
However, on a text console, the 'Fn' behaves normally: 'j' means 'j'
and 'Fn+j' means '1'. Here is the "showkey" output:
0x24 (keycode 106 press)
0xa4
0x4f (keycode 49 press)
0xcf
-- System Information:
Debian Release: lenny/sid
APT prefers testing
APT policy: (500, 'testing'), (500, 'stable')
Architecture: i386 (i686)
Kernel: Linux 2.6.24-1-686 (SMP w/1 CPU core)
Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash
Versions of packages xserver-xorg-input-kbd depends on:
ii libc6 2.7-10 GNU C Library: Shared libraries
ii xserver-xorg-core 2:1.4.1~git20080517-2 Xorg X server - core server
xserver-xorg-input-kbd recommends no packages.
-- no debconf information