Die Links taugen nicht zum Abpausen. Dein Problem wird dort nicht behandelt. Sie zeigen aber die Werkzeuge und grundlegenden Arbeitschritte auf, die nötig sind um zu einer Lösung zu kommen. Du musst sie also neu zusammensetzen.
(Disclaimer: Ich habe genau diesen Fall auch noch nicht durchgespielt, glaube aber die Werkzeuge gut genug zu kennen um mit etwas Versuch und Irrtum zum Ziel zu kommen.)
Dein Grundproblem:
Du hast zwei Tastaturen, welche die selben Tasten haben und damit die selben Keycodes senden. Das musst du ändern, damit du mit den Keycodes der einen Tastatur Aktionen ausführen kannst, ohne dabei die Funktionalität der anderen Tastatur zu beeinflussen.
Grundlegender Ablauf:
Du musst die Keycodes die eine der Tastaturen sendet ändern (idealerweise vom Numpad). Die Keycodes sind in
/usr/share/X11/xkb/keycodes/ definiert. Bei mir (momentan Suse) werden offenbar die evdev-Keycodes geladen:
Code: Alles auswählen
$ setxkbmap -print
xkb_keymap {
xkb_keycodes { include "evdev+aliases(qwertz)" };
xkb_types { include "complete" };
xkb_compat { include "complete" };
xkb_symbols { include "pc+de+inet(evdev)+terminate(ctrl_alt_bksp)" };
xkb_geometry { include "pc(pc104)" };
};
Auszug des Nummernblocks aus
/usr/share/X11/xkb/keycodes/evdev:
Code: Alles auswählen
<NMLK> = 77;
<KPDV> = 106;
<KPMU> = 63;
<KPSU> = 82;
<KP7> = 79;
<KP8> = 80;
<KP9> = 81;
<KPAD> = 86;
<KP4> = 83;
<KP5> = 84;
<KP6> = 85;
<KP1> = 87;
<KP2> = 88;
<KP3> = 89;
<KPEN> = 104;
<KP0> = 90;
<KPDL> = 91;
<KPEQ> = 125;
Dass die Tasten tatsächlich diese Keycodes erzeugen kannst du mit
xev aus
x11-utils prüfen.
Beispiel für KP5 (bei aktiviertem NumLock):
Code: Alles auswählen
KeyPress event, serial 35, synthetic NO, window 0x4c00001,
root 0x2be, subw 0x0, time 792436403, (335,210), root:(375,233),
state 0x10, keycode 84 (keysym 0xffb5, KP_5), same_screen YES,
XLookupString gives 1 bytes: (35) "5"
XmbLookupString gives 1 bytes: (35) "5"
XFilterEvent returns: False
KeyRelease event, serial 35, synthetic NO, window 0x4c00001,
root 0x2be, subw 0x0, time 792436466, (335,210), root:(375,233),
state 0x10, keycode 84 (keysym 0xffb5, KP_5), same_screen YES,
XLookupString gives 1 bytes: (35) "5"
XFilterEvent returns: False
Du könntest nun eine Kopie von
/usr/share/X11/xkb/keycodes/evdev anlegen (z.B. mit dem Namen
numpad) und darin die Keycodes ändern. Sinnvollerweise wählst du solche die entweder gar nicht belegt sind, oder mit Keysyms die deine Haupttastatur nicht besitzt. Einen Überblick darüber gibt dir
xmodmap aus
x11-xserver-utils:
40050
Diese veränderte Keycode-Tabelle solltest du nun deinem Numpad zuweisen können. Ich habe das selbst nie gemacht, aber wenn ich die Manpage richtig lese, sollte sowas in der Art funktionieren:
(Falls ich das grundlegend falsch verstanden habe müsste man sich mal mit der Compilierung von Tastaturlayouts via
xkbcomp auseinandersetzen, wie es im Script des superuser.com-Links anklingt.)
Nun hast du zwei Tastaturen die UNTERSCHIEDLICHE Keycodes senden. Diesen geänderten Keycodes kannst du nun entweder direkt irgendwelche Aktionen zuordnen oder, falls KDE das nicht hergibt, kannst du diesen Keycodes via
xmodmap unbenutzte Keysyms zuweisen, welchen du dann deine Aktionen zuweist.