Registrieren  •  Login 
  
 
im Forum




Blog-Übersicht -> Zusätzliche Notebook Hotkeys unter Linux zuweisen netcup Weihnachtspäckchen :: E-Mail Versand am Entwicklungsserver testen
Zusätzliche Notebook Hotkeys unter Linux zuweisen
Verfasst am: 10.04.2019, 19:59   Autor: killerbees19
Mein alter Dimotion Laptop (basierend auf einem Compal HL90) hat drei zusätzliche Hotkeys oberhalb der Tastatur. Diese erzeugen unter Linux unbekannte Keycodes, werden aber jeweils als eigenständige Taste erkannt. Im Kernellog sieht das so aus:

Code:
atkbd serio0: Unknown key pressed (translated set 2, code 0xf5 on isa0060/serio0).
atkbd serio0: Use 'setkeycodes e075 <keycode>' to make it known.
atkbd serio0: Unknown key released (translated set 2, code 0xf5 on isa0060/serio0).
atkbd serio0: Use 'setkeycodes e075 <keycode>' to make it known.

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

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


Sie sind nicht zum längeren Drücken gedacht, auch wenn die LED-Beleuchtung beim Drücken etwas Anderes suggeriert, da sie beim Drücken nach dem "Press" Event sofort das "Release" Event mitsenden. Um sie unter Linux in einer grafischen Benutzeroberfläche nutzen zu können, reichen nachfolgende Schritte. Getestet unter Xubuntu 18.04.

  1. Mit Rootrechten legt man das neue Systemd-Servicefile /etc/systemd/system/setkeycodes.service an:

    Code:
    [Unit]
    Description=setkeycodes
    Before=graphical.target

    [Service]
    Type=oneshot
    # /etc/X11/Xsession.d/80-custom-xmodmap
    ExecStart=/usr/bin/setkeycodes e075 211
    ExecStart=/usr/bin/setkeycodes e076 212
    ExecStart=/usr/bin/setkeycodes e078 213

    [Install]
    WantedBy=multi-user.target


    Dadurch weist man den Tasten beim Systemstart einen internen Keycode zu, der noch nicht verwendet wird. In meinem Fall habe ich mich für 211-213 entschieden, wobei auf 212 normalerweise ein Hotkey liegen würde, den ich nicht habe. Nicht vergessen den neuen Service zu aktivieren:

    Code:
    sudo systemctl enable setkeycodes.service


  2. Zusätzlich müssen die Tasten dem X-Server bekannt gemacht werden. Das könnte man über die Datei ~/.xinitrc für jeden User separat machen, oder man macht es gleich für alle User, indem man mit Rootrechten die Datei /etc/X11/Xsession.d/80-custom-xmodmap anlegt:

    Code:
    # This file is sourced by Xsession(5), not executed.

    if [ -z "$IGNORE_CUSTOM_XMODMAP" ]
    then
       # /etc/systemd/system/setkeycodes.service
       /usr/bin/xmodmap -e 'keycode 219 = R1'
       /usr/bin/xmodmap -e 'keycode 220 = R2'
       /usr/bin/xmodmap -e 'keycode 221 = R3'
    fi


    Zu den vorher definierten dezimalen Keycodes muss jeweils die Zahl 8 addiert werden! In meinem Beispiel werden die Hotkeys als F21, F22 und F23 bekannt gemacht. Falls man andere Tasten zuweisen möchte, gibt es auf wiki.linuxquestions.org eine nette Übersicht über verfügbare Tasten und deren Bezeichnungen. Wie bereits zu Beginn erwähnt, eignen sich die Tasten nicht als Modifikatortasten (z.B. Ctrl/Shift/Alt/...), da sie beim gedrückt Halten sofort ein Loslassen-Event übermitteln!

  3. Nun sollte das System einmal neugestartet werden...

  4. Als letzten Schritt kann man die neuen F-Tasten in Xfce oder Programmen zuweisen. Dieser Schritt muss logischerweise von jedem User separat vorgenommen werden. Um sie innerhalb Xfce zum Starten von Befehlen zu nutzen, reicht ein neuer Eintrag unter Einstellungen » Tastatur » Tastenkürzel. Weitere nützliche Funktionen kann man unter Einstellungen » Fensterverwaltung » Tastatur festlegen. Alternativ kann innerhalb von einzelnen Anwendungen eine Zuweisung für bestimmte Funktionen vorgenommen werden.


Credits: unix.stackexchange.com

Dieser Beitrag wurde insgesamt 5 mal geändert. Zuletzt am 11.04.2019, 05:13.


Autor Nachricht
killerbees19
Admin & Scriptologe
Admin & Scriptologe



Anmeldedatum: 09.05.2006
Geschlecht: Männlich
Alter: 28 Jahre
Beiträge: 12988
Wohnort: Wien

BeitragVerfasst am: 10.04.2019, 21:54    Titel: toggle-touchpad & toggle-wifi

Abschließend noch zwei praktische Scripte, die man als Hotkey nutzen kann:

Nach oben
Benutzer-Profile anzeigen killerbees19 ist derzeit offline Spielerprofile bei SC:Special Bewerben anzeigen Private Nachricht senden Website dieses Benutzers besuchen


 

Alle Zeiten sind GMT + 2 Stunden (Sommerzeit)
Aktuelles Datum und Uhrzeit: 20.10.2019, 19:22
Nach oben
Valid HTML 4.01 Transitional
Valid CSS!

netcup - Internetdienstleistungen
 
 
[ happytec.at | forum.happytec.at | blog.happytec.at | esports.happytec.at | event.happytec.at ]