Réassignation des touches du clavier

Ave à tous,

Le but de la manoeuvre est d’utiliser les touches en rab de mon clavier Sun ; pour cela je vais prendre un exemple.

Parmi ces touches, sur la gauche, en est une appelée “XF86Copy”. Elle ne figure pas dans le fichier xfce4-keyboard-shortcuts.xml, même comme “empty” ; cependant elle est reconnue par le système, puisque c’est ce nom, “XF86Copy” qu’elle me renvoie par messages d’erreur lorsque je fais mes essais.

La question est de lui attribuer cette fonction de copie (d’une chaîne de caractères sélectionnée), peut-être en lui faisant exécuter un “Ctrl-c”, enfin je nage un peu.

Il semblerait qu’elle réclame un fichier, ou alors peut-être une commande, genre

property name=“XF86Copy” type=“string” value=“Copy”

Mon “Copy” naturellement est bidon, mais c’est un peu comme cela qu’elle devrait apparaître, je suppose, dans le fichier des shortcuts.

Là, sous ce texte, j’ai droit à un

L’exécution du processus fils « XF86Copy » a échoué (Aucun fichier ou dossier de ce type)

Que faire ?

Ajoutons que j’ai depuis le début les trois touches dites “multimédia” en fonctionnement, on trouve très facilement le texte.

A+

Sergio

En associant ta touche à xclip ou xsel (https://linuxtidbits.wordpress.com/2008/02/22/command-line-to-clipboard/), ça marcherait ?

OK, merci à toi !

Je me suis trompé, j’avais pas xclip, en revanche j’ai bien xset ; donc je rattaque demain, cela me paraît excessivement intéressant, autrement dit si cela se trouve c’est ça…

Ces touches marchaient très bien sous Solaris, seulement maintenant, pour retrouver un keymap complet de Sol…

A+

Ave Sergio et seb-ksl

Bien vu, c’est aussi ce que j’ai pu constater,
car effectivement, XF86Cut XF86Copy XF86Paste ne fonctionnent pas non plus sur ma debian XFCE

=======
Tu pourrais vérifier que tes touches Sun Cut Copy et Paste sont bien configurées
avec le retour de la ligne de commandes suivante quand tu appuie sur chacune de ces trois touches :
xev | sed -e '/./{H;$!d;}' -e 'x;/KeyPress/!d;'

=======
En créant un fichier ~/.gtkrc-2.0 (source et plus)
avec le contenu ci-dessous :

binding "gtk-xf86cut-copy-paste"
{
        bind "XF86Cut"   { "cut-clipboard" () }
        bind "XF86Copy"  { "copy-clipboard" () }
        bind "XF86Paste" { "paste-clipboard" () }
}
class "*" binding "gtk-xf86cut-copy-paste"

Je constate que XF86Cut XF86Copy et XF86Paste fonctionnent.

=======
NOTE :

Je n’ai pas ces touches Sun sur mon clavier PC105.

Alors, pour ces tests, après avoir créé le fichier ~/.gtkrc-2.0, puis fermé/ré-ouvert ma session graphique,
j’ai dû (Mais Sergio n’aura pas à le faire, étant donné que son clavier a déjà les touches qu’il faut)
modifier mes touches F10 F11 F12 (choisies au hasard pour ce test):

xmodmap -e "keysym XF86Switch_VT_10 = XF86Copy"
xmodmap -e "keysym XF86Switch_VT_11 = XF86Cut"
xmodmap -e "keysym XF86Switch_VT_12 = XF86Paste"

Et le test a fonctionné.

Une fois mes tests terminés, j’ai remis mes touches dans leur état initial :

xmodmap -e "keycode  76 = F10 F10 F10 F10 F10 F10 XF86Switch_VT_10 F10 F10 XF86Switch_VT_10"
xmodmap -e "keycode  95 = F11 F11 F11 F11 F11 F11 XF86Switch_VT_11 F11 F11 XF86Switch_VT_11" 
xmodmap -e "keycode  96 = F12 F12 F12 F12 F12 F12 XF86Switch_VT_12 F12 F12 XF86Switch_VT_12"

Hallo MicP,

Je suis confondu devant tant de science, sans compter la photo du clavier, devant laquelle je suis aussi tombé en arrêt au cours de mes recherches !

A l’évidence c’est cette solution (bindings) la plus idoine, plus qu’à rebooter pour vérifier (j’ai mes quatre bureaux chargés comme des oeufs en permanence !) ; pareil avec ton script, OK pour les touches, sauf bien sûr la Copy que j’ai bricolée, il lui faut aussi le reboot.

Si je peux pas rebooter tout de suite j’essaierais bien la solution xset, histoire de voir, mais là aussi je pense que je vais être coincé par le reboot (ou graphique).

Très grand merci à toi, et de tout ce travail !

Heureusement que j’ai (j’espère avoir) conscience de n’avoir que quelques connaissances d’autodidacte, sinon, j’aurai la tête et les chevilles énormes après ça :smile:
EDIT : En fait, je n’ai très sincèrement aucune idée de mon niveau en informatique, j’ai juste fait une formation de TSRIT (histoire d’en apprendre un petit peu sur les réseau) mais c’est tout ce que j’ai eu comme formation.

Bien sûr que ça fait plaisir.
Merci Sergio de m’avoir donné l’occasion d’étaler ici ma “confiture” (…moins on en a, plus on l’étale…)

=======

Je n’ai pas eu besoin de rebooter le système: Le simple fait de me déconnecter de mon compte utilisateur et d’ouvrir une session graphique (par le gestionnaire de session graphique, chez moi, c’est lightdm) a suffit à faire redémarrer le serveur X qui a pris en compte mon fichier ~/.gtkrc-2.0

Oui, mais de toutes manières il va falloir que je passe à la casserole, même avec une upgrade Jessie de janvier, j’ai déjà une palanquée de linux-image qui attendent patiemment le reboot… Au mieux j’aurais pu essayer de rendre exécutable le .gtkrc-2.0 et de le lancer comme on faisait avec le .profile, mais à mon avis cela fera rien du tout.

En revanche un truc à préciser, pour ceux qui auraient l’occasion de faire des essais ou des vérifications de touches avec cette fameuse commande

xev | sed -e ‘/./{H;$!d;}’ -e ‘x;/KeyPress/!d;’

c’est qu’une fois que l’on a assigné une touche, on n’a plus le descriptif de configuration qu’appelle cette commande pour la touche considérée, et c’est normal, il ne faut pas s’inquiéter.

il suffit de fermer et ré-ouvrir sa session pour que le fichier ~/.gtkrc-2.0 soit pris en compte et que les touches retrouvent leur définition originale.

=======
Sans avoir à rebooter ni à relancer le serveur X :

Pour récupérer la définition en cours de toutes les touches :
xmodmap -pke > mappageOriginalClavier

Pour restaurer la configuration :
xmodmap mappageOriginalClavier

NOTE : La restauration de toutes les touches prends…un certain temps (fonction du nombre de re-définitions)

Alors, je ne vais restaurer que la définition des touches que j’avais modifié :
sed -n -e '/ 76 =/p' -e '/ 95 =/p' -e '/ 96 =/p' mappageOriginalClavier | xmodmap -

Ce qui aura le même effet que les 3 lignes de commandes que j’avais entré dans mon premier message de ce fil :

xmodmap -e "keycode  76 = F10 F10 F10 F10 F10 F10 XF86Switch_VT_10 F10 F10 XF86Switch_VT_10"
xmodmap -e "keycode  95 = F11 F11 F11 F11 F11 F11 XF86Switch_VT_11 F11 F11 XF86Switch_VT_11"
xmodmap -e "keycode  96 = F12 F12 F12 F12 F12 F12 XF86Switch_VT_12 F12 F12 XF86Switch_VT_12"

NOTE : Je précise que les 3 définitions ci-dessus ne seront pas forcement les mêmes que celles que tu trouvera sur ton système, car elles dépendent de la configuration matérielle et logicielle de mon clavier sur ma machine.

Ca marche !

Je viens de planter la machine. Toute la machine : en paramétrant les préférences de Blender ; encore jamais vu ça… Il a fallu rebooter en hard !

En tous cas pour le clavier c’est full OK.

Ave à toi !