Comment lier les flèches Ctrl + aux touches Début et Fin? xmodmap ne fonctionne pas

15

Sous Windows, j'avais l'habitude de lier Ctrl+ Leftà Homeet Ctrl+ à droite Endvia ahk.

Maintenant, j'ai du mal à obtenir ce comportement dans Ubuntu. J'ai essayé d'éditer /etc/inputrc:

"\e[1;5C": end-of-line
"\e[1;5D": beginning-of-line

Cela fonctionne mais uniquement dans la fenêtre du terminal. J'ai également essayé xmodmap:

xmodmap -e "keycode 113=Left NoSymbol Home"

mais ça ne marche pas.
La chose étrange ici est que si je lie à Shift+ Leftdans xmodmap, cela fonctionne:

xmodmap -e "keycode 113=Left Home"

Je suppose que le comportement par défaut de Ctrl+ Left(sauter les mots) a en quelque sorte la priorité sur les liaisons xmodmap.

Où puis-je trouver l'emplacement des liaisons par défaut et comment les supprimer? Ou, peut-être que je pourrais simplement y associer le comportement nécessaire?

Je suis sur Ubuntu 12.04

acid009
la source
Obtenez-vous une xevsortie pour les clés que vous souhaitez modifier?
Seth
Je fais. J'ai obtenu le code clé 113 = à gauche de la sortie xev.
acid009
Pouvez-vous ajouter la xevsortie entière s'il vous plaît?
Seth
état 0x0, code clé 113 (keysym 0xff51, gauche)
acid009
et l'état 0x4, keycode 113 (keysym 0xff51, gauche) si pressé avec Ctrl - l'état est changé en 0x4 comme prévu
acid009

Réponses:

11

AutoKey peut faire des liaisons comme celle-ci, mais elle nécessite l'exécution d'un service en arrière-plan (comme ahk, mais contrairement à xmodmap).

Configurez une "phrase" où se trouve le texte <home>, la méthode de Keyboardcollage et le raccourci clavier <ctrl>-<left>:

GUI AutoKey

cscarney
la source
Agréable. Cela pourrait également être une bonne réponse comme réponse ici aussi askubuntu.com/questions/254424/…
Kevin Bowen
1
Une version étendue et plus générique: askubuntu.com/a/304834/194 Cela fait-il de cette question un doublon?
cscarney
C'est probablement le cas, mais vous devriez toujours obtenir la prime. ;-)
Kevin Bowen
cette méthode ne fonctionne pas.
acid009
1
@JeffDror c'est <page_up> et <page_down> ( code.google.com/p/autokey/wiki/SpecialKeys )
cscarney
1

J'utilise le clavier en aluminium Apple sur la station de travail Ubuntu et les commandes xmodmap suivantes l'ont fait pour moi:

# remap Ctrl_L to ModeSwitch, then use it to map arrow keys so that
# they act like on the MacBook keyboard with Fn key pressed 
xmodmap -e "keycode 37=Mode_switch"
xmodmap -e "keycode 113 = Left NoSymbol Home"
xmodmap -e "keycode 114 = Right NoSymbol End"
xmodmap -e "keycode 111 = Up NoSymbol Prior"
xmodmap -e "keycode 116 = Down NoSymbol Next"

Cela fonctionne parfaitement parce que ma Caps Lockclé est remappée à la fonction de contrôle à l'aide des préférences du clavier Ubuntu, donc la touche de contrôle gauche n'est pas nécessaire. Puisqu'il se trouve là où se trouve la touche Fn sur le clavier du MacBook, le basculement entre les claviers de bureau et MacBook n'a pas d'impact sur la mémoire musculaire.

Peter Kvitek
la source
0

Autokey a travaillé pour moi. Le comportement Autokey par défaut serait: mapper à la fois right ctrl+ arrowet left ctrl+ arrow. Et je voulais seulement right ctrl, parce que j'avais l'habitude left ctrlde naviguer dans les mots.

Voici le script que j'ai utilisé dans Autokey:

output = system.exec_command('xinput query-state "AT Translated Set 2 keyboard" | grep down', getOutput=True)
# 105 is right ctrl
if 'key[105]=down' in output:
    keyboard.send_keys('<end>')
else:
    keyboard.send_keys('<ctrl>+<right>')

Remarque: vous pourriez avoir un nom de clavier différent. Essayez-les tous. J'avais 3 appareils, mais un seul fonctionnait

xinput list --name-only | grep -i keyb
Virtual core keyboard
Virtual core XTEST keyboard
AT Translated Set 2 keyboard

PS J'ai installé Autokey depuis GitHub, car le package dans le logiciel Ubuntu est cassé.

wibotwi
la source