PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Sondertasten der Notebooktastatur



mauritzius
13.11.04, 18:08
Hallo!

Ich habe ein BenQ Joybook 6000 und versuche, dort Linux zum Laufen zu bringen. Im Prinzip funktioniert mittlerweile 90% der Hardware, nur manche Tasten machen mir etwas Probleme:

Immer wenn eine Sondertaste gedrückt wird, kommt die Meldung:


kernel: atkbd.c: Unknown key pressed (translated set 2, code 0x4f on isa0060/serio0).
kernel: atkbd.c: Use 'setkeycodes e074 <keycode>' to make it known.

Soweit so gut, also gemacht was der Kernel gesagt hat und mit setkeycodes probiert und es funktioniert im Prinzip auch (setkeycodes e040 236, setkeycodes e041 147, setkeycodes e074 237). Das ganze läuft in einem Startup-Script ab, wird also bei jedem Bootvorgang neu ausgeführt!
Mein Problem ist nun, dass der Kernel aus ungeklärten Gründen diese Zuordnung gelegentlich wieder vergisst, manchmal früher, manchmal später. Nach einem erneuten Ausführen von setkeycodes mit den obigen Parametern funktioniert wieder alles einwandfrei - zumindest einige Zeit!

Prinzipiell müsste es ja möglich sein, diese Zuordnung in den Kernel einzukompilieren. Bisher weiß ich, dass dafür das Files drivers/input/keyboard/atkbd.c verantwortlich ist (no na ned). In diesem gibt's am Anfang einige große Tabellen, die set2-Tabelle ist vermutlich die geeignete.
Eine der Stellen, wo eine 0 steht, müsste ich ersetzen - aber wodurch?
In der Kernel-Meldung, was ist dort der Scancode? Ich vermute, e074, aber auf welchen Eintrag in der Tabelle in atkbd.c verweist dieser?

Oder Kürzer: Wie funktioniert die Scancode-Keycode Übersetzung im Kernel?

Vielen Dank,

mauritzius

System: BenQ Joybook 6000, 1,5GHz Centrino, 512MB RAM; SoL 18.00, Kernel 2.6.8.1 (mit div. Patches)