[OT] X11, GTK+ und die Tastatur

Jan-Benedict Glaw jbglaw at lug-owl.de
Wed Aug 13 17:04:37 CEST 2003


On Tue, 2003-08-12 17:06:13 +0200, Hans-Joachim Hoetger <Hans-Joachim.Hoetger at telefonica.de>
wrote in message <20030812150613.GB31880 at oma>:
> On Tue, Aug 12, 2003 at 04:13:48PM +0200, Jan-Benedict Glaw wrote:

[PS2-Tastatur mit doppelten Tasten unter Xfree86]

> Ich suche mir mit xkeycaps den Code heraus und schreibe mit
> xmodmap daran herum. z.B. folgende Zeilen in eine Datei

Tut nicht so ganz:) xkeycaps und xev (X Event Viewer) geben beide für
meine "Doppel-Tasten" exakt identische Ausgaben an; für X sind das also
wirklich ununterscheidbare Tasten:-<

Also, mittlerweile hab' ich mal einen ganz radikalen Ansatz gemacht:

------------ ~/.xmodmaprc --------------
clear Shift
clear Lock
clear Control
clear Mod1
clear Mod2
clear Mod3
clear Mod4
clear Mod5
! Keycodes 1..7 may not be set!
keycode 8 = Fabovedot
keycode 9 = fabovedot
keycode 10 = Mabovedot
[...]
keycode 253 = Abrevebelowdot
keycode 254 = abrevebelowdot
keycode 255 = Ebelowdot
-----------------------------------------

Ich hab' also alle keycodes mit irgendwelchem Blödsinn (aus
/usr/include/X11/keysymdefs.h) gesetzt. Nun hab' ich theoretisch kein
Numlock, Alt, Capslock etc mehr, aber das stört mich nicht (die werden
alle nicht gebraucht:)

Allerdings hab' ich immernoch drei Paare von Tasten, die dieselben Codes
(unter X11) liefern. Auf der Console sind diese Tasten aber sowohl in
"showkeys" als auch in "showkeys -s" unterscheidbar.

Irgendwie wird von den "showkeys"-Werten (egal, welche...) auf die
keycodes gemapt, denen man dann eine Bedeutung (wie ich's oben versuche)
zuweisen kann. Der letzte Schritt funktioniert auch (ich bekomme in
meiner Applikation jetzt Zeichen aus allen möglichen Ländern...), aber
vorher werden (drei mal) zwei Tasten auf einen gemeinsamen keycode-Wert
gemapt, und das muß ich irgendwie umgehen...

MfG, JBG

-- 
   Jan-Benedict Glaw       jbglaw at lug-owl.de    . +49-172-7608481
   "Eine Freie Meinung in  einem Freien Kopf    | Gegen Zensur | Gegen Krieg
    fuer einen Freien Staat voll Freier Bürger" | im Internet! |   im Irak!
      ret = do_actions((curr | FREE_SPEECH) & ~(IRAQ_WAR_2 | DRM | TCPA));
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
URL: <http://lug-owl.de/pipermail/linux/attachments/20030813/694d4ae6/attachment.sig>


More information about the Linux mailing list