GNU/Linux >> Tutoriels Linux >  >> Linux

Remappage de la touche d'alimentation à supprimer ?

J'ai un macbook pro sous Ubuntu 13.10 avec FluxBox. Malheureusement, le bouton d'alimentation est physiquement au-dessus du retour arrière où je m'attendrais à ce que la touche de suppression se trouve. Sous OS X, le programme PowerKey peut être utilisé pour remapper la touche d'alimentation à supprimer. Comment puis-je faire quelque chose de similaire dans X Windows ?

J'ai désactivé la touche d'alimentation en modifiant /etc/systemd/logind.conf et en définissant HandlePowerKey = ignore Après cela, je peux appuyer sur le bouton d'alimentation sans éteindre l'ordinateur portable.

Exécution de xev -event keyboard révèle que la touche KeyPress de la touche d'alimentation est normalement consommée par un autre processus :

MappingNotify event, serial 36, synthetic NO, window 0x0,
    request MappingKeyboard, first_keycode 8, count 248

KeymapNotify event, serial 36, synthetic NO, window 0x0,
    keys:  1   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   
           0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   

KeymapNotify event, serial 37, synthetic NO, window 0x0,
    keys:  1   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   
           0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   

Cependant, en exécutant uniquement xterm directement depuis la console, j'ai réussi à obtenir le code clé et à remapper la clé.

xinit /usr/bin/xterm -- :1
xev -event keyboard | tee /tmp/junk.txt
tail -n ???? /tmp/junk.txt
MappingNotify event, serial 28, synthetic NO, window 0x0,
    request MappingKeyboard, first_keycode 8, count 248

KeyPress event, serial 28, synthetic NO, window 0x600001,
    root 0xa1, subw 0x0, time 720369, (146,89), root:(148,91),
    state 0x0, keycode 124 (keysym 0x1008ff2a, XF86PowerOff), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyRelease event, serial 28, synthetic NO, window 0x600001,
    root 0xa1, subw 0x0, time 720369, (146,89), root:(148,91),
    state 0x0, keycode 124 (keysym 0x1008ff2a, XF86PowerOff), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

MappingNotify event, serial 29, synthetic NO, window 0x0,
    request MappingKeyboard, first_keycode 8, count 248

À ce stade, il était également possible de mapper la clé à l'aide de xmodmap. Je l'ai mappé sur une barre oblique inverse qui est plus facile à voir qu'à supprimer :

 xmodmap -e "keycode 124 = backslash bar"

Je pourrais obtenir un équivalent à peine fonctionnel à exécuter en ajoutant ceci à ~/.fluxbox/keys mais c'est à la fois moche et assez lent pour être inutilisable.

  # Remap the power off to a delete key...
  XF86PowerOff :Exec xdotool key Delete

Comment puis-je utiliser xmodmap ou setxkbmap pour utiliser le bouton d'alimentation en même temps qu'un gestionnaire de fenêtres normal ?

Réponse acceptée :

Je ne comprends pas exactement la dernière phrase, question, mais je peux comprendre le titre de la question :"Remappage de la touche d'alimentation à supprimer".

Essayez de remplacer n'importe quel "XF86PowerOff" ou juste celui correspondant à votre clavier par "Supprimer" dans /usr/share/X11/xkb/symbols/inet.

En relation:Panique du noyau toutes les heures environ "UPSB:la mise sous tension du coup de foudre a échoué" depuis que j'ai mis à niveau vers High Sierra?

Vous devez répéter cette opération après une mise à jour du système qui met à jour ce fichier.


Linux
  1. Comment remapper la clé Numlock à supprimer ?

  2. Comment consolider plusieurs clés Mok ou supprimer celles qui ne sont pas nécessaires ?

  3. Comment supprimer un service dans Kubernetes

  4. Commande Linux rm

  5. comment mettre à jour homebrew avec Cron sur Mac os

Je suis un utilisateur POWER

Comment générer une clé SSH dans Windows 10

Comment supprimer une partition sous Linux

Comment supprimer des lignes dans Vim / Vi

Comment supprimer un référentiel et une clé GPG dans Ubuntu

Créer un serveur cloud