Input+S3: extra keycodes forgotten after suspend

From: Bruno Prémont
Date: Fri May 16 2008 - 16:26:26 EST


On my Acer TravelMate 660 I lose keycodes for the extra keys (dritek
extensions) after resume.

The system runs setkeycodes during boot sequence to initialize key codes
for the extra keys as below:

/usr/bin/setkeycodes KEYCODES="e025 138 e026 141 e027 171 e074 148 e073 149 e055 229 e056 230 e057 227 e058 228"
# Fn + F1 ~ e025 => 138 [KEY_HELP] (Help)
# Fn + F2 ~ e026 => 141 [KEY_SETUP] (Notebook Manager)
# Fn + F3 ~ e027 => 171 [KEY_CONFIG] (Power Options)
# Mail ~ e06c => 155 [KEY_MAIL] (EMail)
# WWW ~ e032 => 150 [KEY_WWW] (Browser)
# P1 ~ e074 => 148 [KEY_PROG1] (P1)
# P2 ~ e073 => 149 [KEY_PROG2] (P2)
# Bluetooth ~ e058 => 228 [KEY_BLUETOOTH_DISABLE] (Disable Bluetooth)
# Bluetooth ~ e057 => 227 [KEY_BLUETOOTH_ENABLE] (Enable Bluetooth)
# Wireless ~ e056 => 230 [KEY_WLAN_DISABLE] (Disable WLAN)
# Wireless ~ e055 => 229 [KEY_WLAN_ENABLE] (Enable WLAN)
# Vol UP ~ e030 => 115 [KEY_VOLUMEUP] (Increase Volume)
# Vol DOWN ~ e02e => 114 [KEY_VOLUMEDOWN] (Decrease Volume)
# Vol Mute ~ e020 => 113 [KEY_MUTE] (Mute volume)

After resume I end up with the following messages when pressing the keys:
[ 779.695675] atkbd.c: Unknown key pressed (translated set 2, code 0xd6 on isa0060/serio0).
[ 779.695675] atkbd.c: Use 'setkeycodes e056 <keycode>' to make it known.
[ 779.705218] atkbd.c: Unknown key released (translated set 2, code 0xd6 on isa0060/serio0).
[ 779.705218] atkbd.c: Use 'setkeycodes e056 <keycode>' to make it known.
[ 781.603912] atkbd.c: Unknown key pressed (translated set 2, code 0xd5 on isa0060/serio0).
[ 781.603912] atkbd.c: Use 'setkeycodes e055 <keycode>' to make it known.
[ 781.613564] atkbd.c: Unknown key released (translated set 2, code 0xd5 on isa0060/serio0).
[ 781.613564] atkbd.c: Use 'setkeycodes e055 <keycode>' to make it known.
[ 782.772662] atkbd.c: Unknown key pressed (translated set 2, code 0xd7 on isa0060/serio0).
[ 782.772662] atkbd.c: Use 'setkeycodes e057 <keycode>' to make it known.
[ 782.782390] atkbd.c: Unknown key released (translated set 2, code 0xd7 on isa0060/serio0).
[ 782.782390] atkbd.c: Use 'setkeycodes e057 <keycode>' to make it known.
[ 783.461807] atkbd.c: Unknown key pressed (translated set 2, code 0xd8 on isa0060/serio0).
[ 783.461807] atkbd.c: Use 'setkeycodes e058 <keycode>' to make it known.
[ 783.471544] atkbd.c: Unknown key released (translated set 2, code 0xd8 on isa0060/serio0).
[ 783.471544] atkbd.c: Use 'setkeycodes e058 <keycode>' to make it known.


Is this kind of issue known, what are the options to get kernel to remember the
keycode mappings after s2ram?

System details:
uname: Linux neptune 2.6.25.4 #8 Fri May 16 20:15:52 CEST 2008 i686 Intel(R)
Pentium(R) M processor 1500MHz GenuineIntel GNU/Linux
distro: Gentoo
suspending with: echo mem > /sys/power/state


Bruno

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/