web-dev-qa-db-fra.com

Binding Super + C Super + V pour copier et coller

Pendant un certain temps, je suis intéressé par la liaison de la clé Windows (Super_l) sur mon clavier pour copier et coller sans autre raison mais commodité et consistance entre mon bureau et mon MacBook.

Je pensais que j'étais proches après avoir lu sur XModmap et en exécutant ce qui suit:

$ # re-map Super_L to Mode_switch, the 3rd col in keymap table `xmodmap -pke`
$ xmodmap -e "keycode  133 = Mode_switch"

$ # map Mode_switch+c to copy
$ xmodmap -e "keycode  54 = c C XF86_Copy C"

$ # map Mode_switch+v to paste
$ xmodmap -e "keycode  55 = v V XF86_Paste V"

Malheureusement, XF86Copy et XF86Paste ne semblent pas travailler, du tout. Ils sont énumérés dans /usr/include/X11/XF86keysym.h et xev montre que la séquence clé est interprétée par x comme xf86paste et xf86Copy, ces symboles fonctionnent-ils réellement? Est-ce qu'ils doivent avoir un soutien au niveau des applications?

23
solo

Binding Super à Ctrl

Qu'en est-il de la liaison de votre gauche Windows/Logo/Super clé pour agir comme une autre clé Ctrl?

Vous pouvez y parvenir avec les commandes XModmap suivantes:

remove mod4 = Super_L
keysym Super_L = Control_L
add Control = Control_L

En supposant que vous ayez sauvé les lignes ci-dessus comme super_as_ctrl.xmodmap Vous pouvez tester l'effet en exécutant

xmodmap super_as_ctrl.xmodmap

Pour modifier le changement permanent (survivant Re-connexion/redémarrage) renommer le fichier à .Xmodmap Dans votre dossier à domicile.

(Ce qui précède a été testé sur le système en direct Ubuntu 11.10, mais il devrait être le même pour les autres distributions Linux)


Réglage des raccourcis de copie/pâte pour votre programme de terminal

Avoir lié Super à Ctrl vous pouvez maintenant utiliser Super-C Pour copier presque partout. La seule exception commune est votre programme de terminal. Cependant, vous pouvez redéfinir les raccourcis là-bas.

J'ai découvert que même gnome-terminal a cette option à présent (je n'avais pas eu avant de m'habituer à Ctrl-Shift-C en tous cas). Si vous utilisez celui-là, allez à Edit / Keyboard Shortcuts... Dans le menu et assigner Ctrl-C Pour copier et Ctrl-V coller. Devrait être similaire pour konsole etc.

Et ne vous inquiétez pas, vous ne perdrez pas la possibilité de mettre fin à un programme à l'aide d'un raccourci. Après avoir rebondi le raccourci de copie pour le terminal, vous pouvez simplement utiliser Ctrl-Shift-C comme vous l'avez utilisé Ctrl-C avant. Le terminal ne distingue pas ici si le changement est pressé ou non. Et le raccourci n'est plus attrapé pour la copie. Alternativement reculer la résiliation à un autre raccourci, comme le suggère la montagne dans sa réponse.


XF86Copy, etc. Ne travaillez pas

En ce qui concerne les symboles de clé de copie et de pâte: apparemment, ils n'ont aucun effet. Je l'ai testé rapidement en attribuant l'action de copie à Shift-Scrolllock (il n'était pas utilisé et je voulais tester avec une clé non modificative):

xmodmap -e 'keycode 78 = Scroll_Lock XF86Copy Scroll_Lock'

En appuyant sur elle n'avait aucun effet, ni avec XF86Audiomute. Cependant, il fonctionnait lors de l'attribution de la lettre 'A'. Je suppose donc qu'il y a un problème spécifique avec ces symboles de clé spéciale XF86.

19
zpea