Ungewoehnliche Tastatur unter Linux
Jan Seiffert
redbully at cc.fh-luh.de
Sat May 8 17:22:23 CEST 2004
Jan-Benedict Glaw wrote:
>
> Also... Input-API und X11 sind momentan noch nicht wirklich
> verheiratet, daher ist das nicht so ganz trivial:)
>
> In ./include/linux/input.h mußt Du Deine Tasten wiederfinden können.
> Gibt's die da noch nicht, mußt Du neue #define's anlegen. Somit kennt
> die Input-API erstmal die Tasten, aber das hilft Dir wenig.
>
Was hilft es wenn ich da defines rein haue?
Hab mir mal ein kleines Testprogramm fuer die Input-API geschrieben.
Die 08/15 tasten kommen richtig rueber, aber der Rest...
Interessanterweise legt er nach Input-API, wenn ich keine Fehler beim
Copy&Paste gemacht habe, mir auf die Taste "CH.MODE" KEY_HELP, auf
meiner vorhandenen "HELP"-Taste garnix, Kernel sagt "Unknown Key pressed
... use setkeycode 78 <blabla...". Das fuehrt mich zu den Fragen:
- Wenn ich mit setkeycode was einstelle, geht das durch bis in die
Input-API?
- Ist mit meinem setkeycodes was kaputt? Ich kann als Keycode-Argument
zahlen bis max 127 benutzen... braeuchte nach Input-API aber:
[...]
#define KEY_F13 183
[...]
und weitere groesser als 127.
- Wo traegt man bei Gentoo solche setkeycodes (sprich in welchem
Startupscript) inteligenter weise ein (was ist der richtige[tm] Ort).
>
> Das nächste Problem ist, daß X11 die Input-API noch nicht kennt und
> versucht, Scancodes zu bekommen. Da Linux dann aber eine einfache
> (recht minimale) amerikanische PC-Tastatur emuliert (wie gesagt, X11
> hat *keinen* Zugriff mehr auf echte Scancodes) wirst Du vermutlich
> für Compose etc. nur Schrott bekommen.
>
Was ist dabei von folgendem Statement aus der Input-API-Doc zu halten,
jetzt nicht in bezug auf X:
[...]
keybdev is currently a rather ugly hack that translates the input
events into architecture-specific keyboard raw mode (Xlated AT Set2 on
x86), and passes them into the handle_scancode function of the
keyboard.c module. This works well enough on all architectures that
keybdev can generate rawmode on, other architectures can be added to
it.
[...]
Bedeuted das quasi alles (keymaps, setkeycode, showkey, Konsolen) auf
einer emulation rumzaubert, also selbst wenn meine Tastatur Set 3
untranslated liefert alles solange umgewurschtelt wird, dass das was ich
vorne (keymaps etc.) einstelle garnix mit meiner Harten Ware zu tun hat?
Hat mal einer einen Plan welchen weg so ein Scancode durch Linux von der
Taste bis zum Bildschirm nimmt (ohne X)?
(Appropos Schrott bekommen: þ??"·"æ?»«????ø)
>
> Natürlich kannst Du erstmal mit setkeycode andere Tasten auf Deine
> neuen Knöpfe legen (z.B. die Klammern, ohne Shift oder AltGr drücken
> zu müssen, das Pipe-Zeichen, ...).
>
Umlegen und rumfrickeln kann man viel (hey, es ist U**x kompatibel)...
Was aber ist der richtige[tm] weg (X mal aussen vor).
>
> Die andere Variante ist, einen Satz sauberer XFree86-Treiber zu
> schreiben, die /dev/input/eventX benutzen:)
>
Spaeter ;)
> MfG, JBG
>
Voellens verwirrt,
Gruss
Jan
--
Prof: So the American government went to IBM to come up with a data
encryption standard and they came up with ...
Student: EBCDIC!"
More information about the Linux
mailing list