Linux T42 FN-Key remappen

Linux Betriebssystem

OsunSeyi

Member
Registriert
14 März 2017
Beiträge
60
Tja, weiß ich nicht mehr weiter...

Bin hier auf Alpine-Linux und möchte den Fn-Key auf "super" remappen (also die Windows-Taste).

Versucht:
xmodmap -e "keycode 133 = Super_L"
Aber mitunter (warum?) wird 'xev' die Taste mit dem Keycode 151 angeben...

Wie auch immer, wurde die Taste mit xmodmap remappt, wird xbindkeys die Taste als Super_L erkennen.
Nicht aber Emacs oder Awsome WM.
So nutzt mir das nix...

Die Taste ist hier auch als XF86WakeUp angegeben.
Wird wiederum von xbinkeys erkannt (und emacs 'describe-key' tut das auch) aber erreichen kann ich damit wiederum garnichts.

Ich behelfe mir jetzt damit, daß ich mit xbindkeys und xdotools Super_L für 2 sec aktiviere:
xdotool keydown Super_L ; sleep 2 ; xdotool keyup Super_L

In der Zeit kann ich dann in Emacs eine zweite Taste dazudrücken (s-F1 zB)...
Aber das nervt schon.

Wenn ich jetzt in der '.xbindkeysrc' zu 'XF86WakeUp' eine zweite Taste hinzufüge:
XF86WakeUp + F1 dann 'spinnt' die Fn-Taste komplett, wird nämlich nicht erkannt und es wird nur F1 genommen, ich kann also nicht direkt Tastenkombis mit Fn remappen...

Im BIOS ist Fn so eingestellt, daß es sich nicht locken lässt, eine Umwechseln
mit Strg ist nicht vorgesehen (und würde das Problem nicht lösen).

Ich brauche die Funktionstaste für schier garnichts sonst, wie kann ich das 'umbauen'?
Es gibt sicher auch die Möglichkeit, in '/usr/share/X11/xkb' was umzubauen, aber da traue ich mich nicht ran...

Könnt Ihr mir da weiterhelfen?
 
Es gibt sicher auch die Möglichkeit, in '/usr/share/X11/xkb' was umzubauen, aber da traue ich mich nicht ran...
Warum nicht?

Von einem T430 mit Debian (überprüf das also vorsichtshalber nochmal bei dir):
xev liefert mir für Fn den Keycode 151. Der befindet sich als "I151" in /usr/share/X11/xkb/symbols/inet (hier schon auf Super_L geändert):
Code:
    key <I151>   {      [ Super_L               ]       };
Nach einem Reboot macht meine Fn-Taste allein das Gleiche wie meine Super_L-Taste, löst aber in Kombination mit anderen Tasten nach wie vor Fn-Funktionen aus (Helligkeit, WLAN).
 
Hat leider nicht geklappt...
Ich habe genau dieselbe Zeile in 'inet' gefunden und von 'XF86WakeUp' in 'Super_L' wie von Dir beschrieben.
Seitdem wird sie aber weder von Emacs noch von Xbindkeys erkannt.

Die Ausgabe von 'xev':

Code:
KeyRelease event, serial 36, synthetic NO, window 0x1000001,
    root 0x54f, subw 0x0, time 326444, (163,151), root:(164,200),
    state 0x40, keycode 151 (keysym 0xffeb, Super_L), same_screen YES,
    XKeysymToKeycode returns keycode: 133
    XLookupString gives 0 bytes:
    XFilterEvent returns: False

Wieder zurück auf 'XF86WakeUp':

Code:
KeyPress event, serial 33, synthetic NO, window 0x1000001,
    root 0x54f, subw 0x0, time 131207, (175,151), root:(176,200),
    state 0x0, keycode 133 (keysym 0xffeb, Super_L), same_screen YES,
    XLookupString gives 0 bytes:
    XmbLookupString gives 0 bytes:
    XFilterEvent returns: False

Wird jetzt wieder von Emacs als 'XF86WakeUp' erkannt (aber ist anscheinend nicht nutzbar) und 'xbindkeys' kann etwas mit der Taste anfangen, solange ich keine Kombi mache.

Und jetzt hat die Taste mal wieder den Keycode 133 und nicht 151...

Was ich auch nicht verstanden habe: Woher weißt Du, daß es die Datei 'inet' ist?
Also es ist ja offenbar der richtige Eintrag in genau dieser Datei, nur daß es nicht die gewünschte Wirkung erziehlt...

EDIT:

Code:
    key <I151>   {      [ Super_L            ]       };
    key <I133>   {      [ Super_L            ]       };

Die Taste für Keycode 133 habe ich '/usr/share/X11/xkb/inet' nicht gefunden, und sie selber einfach hinzugefügt; aber leider ohne Erfolg.
 
Zuletzt bearbeitet:
Wo und wann änderst du die Tasten? .xinitrc? .xsessionrc? Poste mal den ganzen Code und wo/wann das passiert. Unter Umständen hast du eine Racecondition - hängt von deiner DE ab (welche?)

Beachte: <Fn> - auch wenn sie mit xev erkannt wird - ist keine normale Taste, sondern der EC macht interessante Dinge damit.
 
Weder noch, im Augenblick direkt in der Xkb Konfiguration. Mit xmodmap hat es nicht geklappt und die Taste verhält sich seltsam (?). Ich habe das ja im Eingangsthread beschrieben.
 
Wie schon von anderen geschrieben werden sich Tastenkombinationen wie "Bildschirmhelligkeit verändern", die über FN+Fx realisiert werden, nicht ummappen lassen, Diese Operationen gehen am Betriebssystem komplett vorbei und werden vom embedded controller ausgeführt. Was manchmal geht (dann aber im "Bios") ist die Vertauschung von Fn und Strg. Das funktioniert wiederum auf der Ebene des EC, wobei dann natürlich das Os nicht merkt, dass die Tasten auf einmal woanders liegen. Solltest Du also zunächst Fn mit Strg vertauschen, kannst Du hinterher die mit "Fn" beschriftete Taste (die jetzt als Strg arbeitet) für andere Funktionen nutzen. Natürlich ist dann Strg entsprechend blockiert. Muss man wissen, was das kleinere Übel ist.
 
Nutzt eigentlich nichts, aber ich habe diese Möglichkeit in BIOS auch nicht gefunden... Allerdings, daß man die Taste locken kann (oder nicht).
Es ist ja nicht so, daß ich sie garnicht nutzen kann. Wie gesagt, kann ich mit Xbindkeys ein Script aufrufen, mit dem die Super-L Taste für zwei Sekunden emuliert wird, und wenn ich in der Zeit eine andere Taste drücke wird dies als Keykombi wahrgenommen und funktioniert auch tadellos. Ist aber trotzdem irgendwie sperrig.
Die von Hikaru vorgeschlagene Lösung hätte ich schon toll gefunden!
 
Möglicherweise kommst du weiter, wenn du in /usr/share/keymaps abtauchst. Das ist dan noch unterhalb von X.
Hiermit habe ich aber keine Erfahrung und ich habe auf Anhieb auch keine Definitionen zu Fn-, Super- oder Win-Tasten gefunden.
 
In meiner /etc/rc.local findet sich flgendes:
Code:
# WICHTIG: Capslock muss auf Konsolenbasis entfernt werden,
# sonst macht die umbelegte Teste unter X11 Probleme
dumpkeys | sed -n 's/CtrlL_Lock/Shift/pg' | loadkeys
Kann sein, dass du für Fn auch so was brauchst.
 
dumpkeys/loadkeys arbeitet auf den Dateien in /usr/share/keymaps. Wie gesagt, dort sind die Tasten gar nicht enthalten.
 
  • ok1.de
  • ok2.de
  • thinkstore24.de
  • Preiswerte-IT - Gebrauchte Lenovo Notebooks kaufen

Werbung

Zurück
Oben