Comment puis-je modifier les touches de mon clavier? (Comment puis-je créer des commandes / raccourcis clavier personnalisés?)

131

Je souhaite modifier les combinaisons de touches sur certaines des touches de mon clavier. Je veux que certains exécutent des commandes et que d'autres activent des clés différentes.

Quelles applications puis-je utiliser pour faire cela?


Indice:


Je cherche toujours des réponses à l'aide de dconf et de toute autre méthode.

Seth
la source
Peut-être que xmacro appartient à cette réponse? il peut «enregistrer / lire des frappes au clavier et des mouvements de souris dans des affichages X».
roadmr
@roadmr Si je peux l'utiliser pour créer des raccourcis clavier personnalisés, alors oui!
Seth
Merci d'avoir ajouté ce fil. Je cherche un moyen d'utiliser une touche comme un bouton de la souris (maintenez et faites glisser, cliquez, etc.). Cela semble être absent du fil.
Krumpelstiltskin
@krumpelstiltskin À l'heure actuelle, je ne connais aucun moyen d'obtenir une telle duplication exacte d'une souris. Je vous suggère de poser une nouvelle question. Si j'ai bien compris, je peux toujours répondre à cette question, ou quelqu'un d'autre pourrait avoir une meilleure réponse :)
Seth
1
Voici une xkbréponse: askubuntu.com/a/347382/354350
DJCrashdummy

Réponses:

94

xbindkeys ..

sudo apt-get install xbindkeys

Xbindkeys est un programme très polyvalent qui vous permet de remapper des clés très facilement. Il utilise un fichier de configuration, mon répertoire par défaut situé dans votre répertoire personnel, pour modifier les liaisons de touches en certaines commandes.

Pour créer un fichier de configuration par défaut, utilisez la commande suivante:

xbindkeys --defaults

Qui imprime le fichier de configuration par défaut. Donc, si vous voulez créer le fichier contenant les valeurs par défaut, vous utiliseriez:

xbindkeys --defaults > $HOME/.xbindkeysrc

Ce qui imprime les valeurs par défaut dans un fichier caché nommé .xbindkeysrcsitué dans home ( ~).

Maintenant, pour changer réellement les liaisons de clés, nous devons d’abord connaître le nom ou le pseudonyme de ces clés. xbindkeysnous permet d'utiliser la -kpoignée pour trouver le nom d'une clé ou d'une combinaison de touches. Courir:

xbindkeys -k

Et appuyez sur une touche ou une combinaison de touches. Votre sortie ressemblera à quelque chose de semblable à ce (en appuyant sur space):

"NoCommand"
m:0x10 + c:65
Mod2 + space

"No Command"nous dit qu'actuellement aucune commande n'est associée à la Spaceclé.

m:0x10 + c:65
Mod2 + space  

Est le nom de la combinaison clé / touche.

le fichier de configuration ..

Permet d'ouvrir le fichier de configuration que vous avez créé précédemment:

gedit .xbindkeysrc  

Voici un extrait du fichier de configuration par défaut:

#
# A list of keys is in /usr/include/X11/keysym.h and in
# /usr/include/X11/keysymdef.h
# The XK_ is not needed.
#
# List of modifier:
#   Release, Control, Shift, Mod1 (Alt), Mod2 (NumLock),
#   Mod3 (CapsLock), Mod4, Mod5 (Scroll). 
#

# The release modifier is not a standard X modifier, but you can  
# use it if you want to catch release events instead of press events

# By defaults, xbindkeys does not pay attention with the modifiers
# NumLock, CapsLock and ScrollLock.
# Uncomment the lines above if you want to pay attention to them.

#keystate_numlock = enable
#keystate_capslock = enable
#keystate_scrolllock= enable

# Examples of commands:

"xbindkeys_show" 
 control+shift + q  

Chaque ligne commençant par #est un commentaire et ne sera ni lue ni exécutée xbindkeys.

Jusqu'à présent, la seule ligne non commentée est la suivante:

"xbindkeys_show" 
 control+shift + q  

Cet extrait montre la syntaxe de base des xbindkeyscommandes:

"Command to run (in quotes)"
key to associate with command (no quotes)  

Donc, comme vous pouvez le voir:

"xbindkeys_show" 
 control+shift + q  

Exécute la commande xbindkeys_showlorsque vous appuyez sur Ctrl+ Shift+ q.

relie les clés aux commandes ..

Essayons maintenant de relier quelques clés. Je recommande d'effacer l'intégralité du fichier par défaut afin qu'il soit vide. Il contient des raccourcis clavier prédéfinis dont vous ne voulez probablement pas.

Maintenant, disons que vous voulez utiliser Ctrl+ bpour ouvrir votre navigateur. Vous devez d’abord savoir quel est le nom ou le keysym de Ctrl+ b. Comme mentionné précédemment, vous pouvez utiliser xbindkeys -kle nom d'une clé ou de plusieurs clés, mais il existe un moyen plus simple. Pour des combinaisons simples comme Ctrl+, bvous pouvez simplement utiliser:

Control+b

Beaucoup plus facile n'est-ce pas!

Maintenant, trouvez la commande pour votre navigateur préféré:

  • Pour Firefox: firefox

  • Pour le chrome: chromium-browser

  • Pour l'opéra: opera

Rappelez-vous la syntaxe de plus tôt? La xbindkeyscommande pour lancer Firefox (ou votre autre navigateur préféré) lorsque vous appuyez sur Ctrl+ best:

"firefox"
Control+b

Maintenant, mettez cela dans votre fichier de configuration et enregistrez-le. Maintenant, vous remarquerez peut-être que votre commande ne fonctionne pas encore, c'est parce qu'elle xbindkeysn'est pas en cours d'exécution. Pour le démarrer, lancez simplement xbindkeysdepuis un terminal. Votre Ctrl+ bdevrait maintenant démarrer votre navigateur!

associe des clés à d'autres clés ..

Si vous voulez qu'une touche de votre clavier appelle une touche différente de votre clavier, vous aurez besoin d'un logiciel supplémentaire, car xbindkeysil ne la prend pas en charge séparément. Je connais deux programmes que nous pouvons utiliser, xdotoolet xte. Je préfère xtealors je vais l'utiliser.

Installez-le:

sudo apt-get install xautomation

La syntaxe pour xteest la suivante:

xte 'command key/mousebutton/xyCoordinates'

Exemples:

  • Pour appeler une seule touche, appuyez sur: xte 'key keyName'

  • Pour appeler une combinaison de touches: xte 'keydown keyName' 'keydown secondKeyName' 'keyup keyName' 'keyup secondKeyName

  • Pour appeler un bouton de la souris: xte 'mouseclick buttonNumber' (Nous discuterons de la recherche des numéros de bouton un peu plus tard)

  • Pour déplacer la souris: xte 'mousemove xCoordinate yCoordinate'

  • Et plus! Lisman xte

Maintenant que vous connaissez la commande de simulation des appuis clavier, vous pouvez l'appeler à partir de votre xbindkeysscript, comme ceci:

"xte 'key b'"
Control+b  

Comme vous pouvez le deviner, cela appelle xte 'key b'lorsque nous appuions sur Ctrl+ b, ce qui entrerait bdans tout document sur lequel vous travaillez actuellement.

Je chose à noter est cependant que xbindkeyset xtene fonctionne pas toujours très bien ensemble. Parfois, vous devez appuyer sur les touches exactement au même moment pour obtenir une sortie. D'autres fois, cela fonctionne très bien. Cela peut ou peut ne pas avoir à voir avec la configuration du système et / ou du matériel .. Je ne suis pas sûr. Voir la réponse de maggotbrain pour un moyen plus fiable de relier des clés à d'autres clés.

lier les boutons de la souris aux commandes ..

Vous pouvez également utiliser xbindkeyspour relier les boutons de la souris aux commandes (et ensuite aux raccourcis clavier, voir ci-dessus). Le format de base des boutons de la souris devrait vous être familier maintenant:

" [command to run]  "
b:n

Où se [command to run]trouve la commande que vous voulez exécuter et nle numéro du bouton de la souris que vous voulez utiliser pour cette commande.

Si vous ne connaissez pas le numéro du bouton de votre souris, vous pouvez le xevtrouver:

xev | grep button

La sortie sera quelque chose comme ça:

user@host:~$ xev | grep button
    state 0x10, button 1, same_screen YES
    state 0x110, button 1, same_screen YES
    state 0x10, button 2, same_screen YES
    state 0x210, button 2, same_screen YES
    state 0x10, button 3, same_screen YES
    state 0x410, button 3, same_screen YES

Quand j'appuie sur chacun des boutons de ma souris.

Par exemple:

" firefox "
b:2

Lance firefox lorsque j'appuie sur le bouton central de la souris.

Seth
la source
Est-il possible avec xbindkeys de mapper Meta + C / V pour copier / coller et Meta + Space pour changer de langue?
Sonique
Existe-t-il un moyen d'associer une séquence de caractères à une seule touche, par exemple, d'associer une "équation" à la touche d'augmentation du volume?
JPi
55

Xev et xmodmap

Modification des raccourcis clavier à l’aide de xevet xmodmap.

Les deux applications en ligne de commande sont disponibles par défaut, il n'est donc pas nécessaire d'installer de logiciel supplémentaire.

Xev "crée une fenêtre, puis demande au serveur X de lui envoyer des événements chaque fois que quelque chose arrive à la fenêtre (par exemple, elle est déplacée, redimensionnée, entrée, cliquée, etc.)". Page de manuel de xev

xmodmap est un "programme utilisé pour modifier et afficher la carte de modificateur de clavier et la table de mappes de clavier utilisées par les applications clientes pour convertir les codes de clé d'événement en clésyms". Page de manuel de xmodmap

L'exemple suivant remappera la Caps_Lockclé sur le comportement de la Escclé (de nombreux utilisateurs de vi / vim trouvent qu'il s'agit d'un mappage de clavier utile).

Utiliser xev

Démarrez l' xevapplication à partir d'une fenêtre de terminal ( Ctrl- Alt- t).

L’application s’initialisera, affichera un nombre de lignes et ouvrira une fenêtre vierge. Maintenez la xevfenêtre d'application active et appuyez sur la touche dont vous souhaitez utiliser les propriétés / comportements.

  • Appuyez sur la ESCtouche

Dans la fenêtre du terminal, vous verrez plusieurs lignes de sortie. Prenez note de la 3ème ligne retournée. Cela contiendra le nom de la propriété que vous souhaitez déplacer vers l'autre clé.

KeyPress event, serial 32, synthetic NO, window 0x3e00001,
    root 0x256, subw 0x0, time 16245388, (616,73), root:(1487,535),
    state 0x10, keycode 9 (keysym 0xff1b, Escape), same_screen YES,
    XLookupString gives 1 bytes: (1b) ""

Dans ce cas, la Escclé (code clé 9) utilise le nom "Escape" .

  • Appuyez sur la Caps Locktouche

Cette fois, nous recherchons le keycode Caps Lockutilisé.

Encore une fois, notez la 3ème ligne:

KeyRelease event, serial 32, synthetic NO, window 0x4c00001,
    root 0x256, subw 0x0, time 94702774, (862,151), root:(1733,613),
    state 0x10, keycode 66 (keysym 0xffe5, Caps_Lock), same_screen YES,
    XKeysymToKeycode returns keycode: 9
    XLookupString gives 1 bytes: (1b) ""

Utiliser xmodmap

Maintenant que nous avons obtenu les informations sur les clés que nous souhaitons modifier xev, nous allons utiliser xmodmappour modifier les schémas de touches. À partir du terminal de commande ( Ctrl+ Alt+ t), exécutez les commandes suivantes:

  • Cette commande modifie le Caps Lockpour utiliser le même comportement queEsc

    xmodmap -e "keycode 66 = Escape"
    
  • Cette option imprime une table de clavier en tant qu’expressions dans le fichier. ~/.Xmodmap

    xmodmap -pke > ~/.Xmodmap
    

Activez les modifications (pour cette session de connexion uniquement) avec la commande suivante:

xmodmap ~/.Xmodmap

Faire des changements persistants lors des redémarrages:

  • S'il n'existe pas, créez un fichier dans votre dossier personnel appelé .xinitrc.

    touch .xinitrc
    
  • Placez la ligne suivante dans le fichier et enregistrez le fichier:

    xmodmap ~/.Xmodmap
    

Modification de clés avec des comportements d'état différents

(comme Num Lock)

  • Obtenir la table de touches pour les touches de modification (la sortie est abrégée ici)

    $ xmodmap -pm
    shift       Shift_L (0x32),  Shift_R (0x3e)
    mod2        Num_Lock (0x4d)
    

Si vous souhaitez modifier, par exemple, le comportement de la période sur la touche Del/ Perioddu clavier numérique, utilisez la commande suivante:

xmodmap -e "keycode 91 mod2 = KP_Delete comma"

Notez que cela utilise le mod2mappage de touches pour changer le comportement de la touche lorsque le modificateur Num Lockest activé. La syntaxe est la suivante:

xmodmap -e "<KEYCODE> <MODIFIER> = <behaviour> <behaviour_with_modifier>"

Ressource

Kevin Bowen
la source
2
+1! J'ai une atmosphère clavier coréen sans touche Alt-gr, et j'en avais besoin afin que votre réponse était très utile pour le faire fonctionner. Pour référence future, et comme la touche alt-gr n’est pas la plus simple à définir, voici la commande (j’ai utilisé la touche hanja, qui porte le code 130): xmodmap -e "keycode 130 = ISO_Level3_Shift Multi_key ISO_Level3_Shift Multi_key"
Shautieh
43

Par défaut (c'est juste pour compléter l'excellente réponse de Seth), Ubuntu (dans cet exemple, j'utilise 16.04) a 2 catégories qui sont incluses par défaut dans les paramètres système:

Pour aller aux paramètres système, en haut à droite, cliquez sur l’ icône Engrenage :

entrez la description de l'image ici

Puis sélectionnez Paramètres du système :

entrez la description de l'image ici

Ici vous trouverez 2 options qui peuvent vous envoyer à la section Création de raccourci.

entrez la description de l'image ici

Si vous sélectionnez Entrée de texte, vous devrez sélectionner le lien Paramètres du clavier en bas à droite qui vous enverra directement aux options Raccourcis.

entrez la description de l'image ici

Si vous sélectionnez l' option Clavier , vous devrez cliquer sur l' onglet Raccourcis.

entrez la description de l'image ici

Une fois dans les onglets Raccourcis, vous devez sélectionner les raccourcis personnalisés en bas de la liste, à gauche:

entrez la description de l'image ici

Cliquez ensuite sur le signe plus en bas pour créer votre propre raccourci:

entrez la description de l'image ici

A partir de là, il ne vous reste plus qu'à ajouter le nom du raccourci (ne confondez pas le nom du raccourci avec le nom de la commande que vous allez exécuter). Et ci-dessous, dans le champ Commande, est l'endroit où vous allez mettre quelle commande sera exécutée pour ce raccourci. Dans l'exemple suivant, j'ai nommé le raccourci "Sublime Text 3" pour savoir à quoi ce raccourci est associé. Et sur le champ de commande, j'ai ajouté la commande réelle qui est subl.

entrez la description de l'image ici

À l’écran suivant, vous obtiendrez ce qui suit: comme le raccourci n’a pas encore été attribué à une touche ou à une combinaison de touches, il est désactivé par défaut:

entrez la description de l'image ici

Nous cliquerions ensuite sur le message "Désactivé" afin d’y ajouter une combinaison de touches:

entrez la description de l'image ici

Dans cette partie, j'assigne la combinaison de touches SHIFT+ CTRL+ de Ssorte que lorsque j'appuie sur cette combinaison, l'application Sublime Text s'ouvre.

entrez la description de l'image ici

Après quoi, vous pouvez simplement tester votre combinaison en appuyant sur la combinaison de touches correspondante et en voyant l'application ouverte:

entrez la description de l'image ici

REMARQUE: pour les combinaisons spéciales telles que celle permettant de tuer le serveur X, je suggère de visiter le lien suivant: Comment puis-je activer Ctrl-Alt-Backspace pour tuer le serveur X?

Luis Alvarado
la source
Je suis sur 13.10 et je n'ai pas du tout l'icône "Entrée de texte" dans mes paramètres système. :(
wim
Bonjour wim, pouvez-vous fournir un lien vers une image indiquant les paramètres de votre système?
Luis Alvarado
2
Malheureusement, nous en sommes à 15.04, cette réponse est un désordre déformé. La disposition du clavier a disparu, et avec elle la possibilité de tuer X Server. Les captures d'écran mélangent les versions antérieures à 13.04 (on s'en fout!?!) Et les captures d'écran ultérieures, et quelqu'un les a insérées au mauvais endroit, donc "cliquez sur Options en bas à droite)" est loin de la capture d'écran actuelle, obsolète. :-(
skierpage
@skierpage C'est pourquoi j'ai fait cette réponse: askubuntu.com/questions/367983/… espérons que cela aidera.
Luis Alvarado
If you click on the Options button at the bottom right (Found on 13.04 or previous versions)...Où se trouve le bouton d'options sur les versions> 13.04?
Dinosaure
21

Accédez à Paramètres systèmeClavier , sélectionnez l’ onglet Raccourcis et ajoutez un nouveau raccourci personnalisé pour votre navigateur. Si votre navigateur par défaut est Firefox, utilisez le firefoxchamp de commande in; Si votre navigateur par défaut est Firefox, utilisez chromium-browser, etc.:

ajouter un raccourci personnalisé

Radu Rădeanu
la source
Merci. Voir aussi ma propre réponse pour quelques particularités sur la définition des clés. M'avait mystifié au début même si j'étais au bon endroit.
Michael Durrant
2
Mais cela ne fonctionne pas dans mon cas. Ubuntu (pour une raison quelconque) ne me laissera pas du tout définir les touches de raccourci! J'ai suivi jusqu'à l'étape 4 (comme indiqué dans l'image). Est-ce que je manque quelque chose?
Vaibhav Kaushal
2
Je préfère cette réponse à celles disponibles sur la question en double.
M. B
3
@VaibhavKaushal: à l'étape 5, vous devez cliquer à droite sur "désactivé" puis faire le raccourci qui vous convient, qui y sera affiché immédiatement
rubo77
Un redémarrage peut être nécessaire pour que les modifications prennent effet
Shirley Temple
18

Vous pouvez créer des raccourcis clavier complexes (multi-touches) en installant AutoKey à partir du centre de logiciel. Contrairement à xmodmap, AutoKey ne lie pas les touches réelles de votre clavier; il s'exécute en arrière-plan et intercepte vos raccourcis clavier définis, puis envoie des pressions de touche simulées à vos applications.

La première fois que vous lancerez AutoKey, le service sera démarré en arrière-plan (l'icône de notification n'a pas été mise à jour pour l'unité, il n'y a donc aucune indication visuelle). Une fois qu'il est en cours d'exécution, vous pouvez afficher l'interface de configuration en relançant le programme de lancement:

entrez la description de l'image ici

Ouvrez maintenant Edition> Préférences et sélectionnez "Démarrer automatiquement AutoKey lors de la connexion" pour vous assurer que vos raccourcis fonctionnent chaque fois que vous êtes connecté.

Mapper un raccourci clavier sur un autre raccourci clavier

  1. Sélectionnez Fichier> Nouveau> Phrase.
  2. Assurez-vous que "Coller avec" est réglé sur "Clavier".
  3. Tapez les clés que vous souhaitez mapper à la zone de texte.

    • Les clés spéciales (non caractères) sont représentées avec les codes documentés ici .
    • Si vous tapez plusieurs clés, elles seront envoyées dans l'ordre à moins que vous ne les +placiez (par exemple <ctrl>+c, copier dans la plupart des applications; <ctrl>+c<ctrl>+n<ctrl>+vcréer un nouveau document contenant la sélection; <shift>+ubuntusaisir le texte "Ubuntu")
  4. Appuyez sur le bouton "Set" à côté de "Hotkey". Cela affichera une boîte de dialogue qui vous permet de déterminer la combinaison de touches que vous souhaitez mapper de :

    entrez la description de l'image ici

  5. Sélectionnez Fichier> Enregistrer.

Un exemple de configuration terminée (qui envoie <enter>lorsque vous appuyez sur <ctrl>+m) ressemble à ceci:

entrez la description de l'image ici

cscarney
la source
Note: Actuellement, Debian (où Ubuntu obtient le paquet AutoKey) ne maintient pas leur paquet AutoKey. Pour les instructions d'installation actuelles, voir: github.com/autokey/autokey/wiki/Installing
Joe
15

Essaye ça:

Installez un programme appelé XKeyCaps. Pour l'installer, appuyez simplement sur Ctrl+ Alt+ Tsur votre clavier pour ouvrir Terminal. Lorsqu'il s'ouvre, exécutez les commandes ci-dessous:

sudo apt-get install xkeycaps

Une fois installé, vous pouvez faire xkeycaps à l'invite pour exécuter le programme. Une fois qu'il est lancé, choisissez la bonne disposition du clavier, puis cliquez sur OK.

entrez la description de l'image ici

Ensuite, lorsque vous obtenez le clavier à l’écran, cliquez avec le bouton droit de la souris sur la touche de votre Schoix , dans votre cas c’est la , puis choisissez échanger les clés.

entrez la description de l'image ici

Assurez-vous d’ajouter la ligne ci-dessous à vos sessions pour qu’elle démarre automatiquement à chaque démarrage.

xmodmap ~/.xmodmap-`uname-n`

Source: UFM ytsejam1138

Mitch
la source
Est uname-ncensé être uname -n?
Wjandrea
Selon la source, c'est unmae-n. Je n'ai pas accès à une machine Ubuntu à tester, mais une fois que je l'aurai fait, je vérifierai davantage.
Mitch
8

Si vous souhaitez simplement remapper les clés, les autres réponses sont excellentes.

Cependant, il y a une autre façon de l'aborder. AutoKey est un processeur de macros de clavier qui vous permet d'associer n'importe quelle combinaison clé / modificateur à un script capable de faire presque tout ce que vous pouvez faire à partir de votre clavier et bien plus encore.

AutoKey possède un enregistreur de script et un moyen simple d'entrer des séquences de clé de base, mais ses scripts sont écrits en Python et peuvent faire presque tout ce que vous pouvez coder.

La façon la plus simple de l’utiliser est d’envoyer des séquences de touches à vos applications / postes de travail. Lorsqu'il est utilisé de cette manière, le système / les applications ne peuvent pas dire que ce n'est pas vous qui tapez, alors aucune API ou autre interface n'est requise, ils font juste ce que vous avez tapé.

AutoKey peut également traiter des phrases. Lorsque vous tapez une chaîne de caractères de déclenchement, il peut remplacer le texte par un nouveau texte (immédiatement ou après avoir tapé un caractère de séparation comme une nouvelle ligne ou une tabulation).

Il dispose également de filtres de fenêtre vous permettant de restreindre l’exécution d’une phrase ou d’un script particulier à certains types de fenêtres (comme celles dont le titre correspond à Mozilla, de sorte qu’elles ne fonctionnent que dans des domaines tels que Firefox ou Thunderbird).

AutoKey a actuellement les versions Gtk et Qt.

Modifications:

Guide d'installation

Forum d'utilisateurs Forum d' utilisateurs actif.

Il existe un certain nombre d'exemples de scripts dans le wiki. Parce que c'est principalement une application graphique avec beaucoup d'options, les exemples nécessiteraient beaucoup de captures d'écran et un article entier.

J'ai une phrase définie de sorte que lorsque je tape " Jmail! ", Elle la remplace instantanément par mon adresse email plutôt longue.

J'ai écrit un script qui est déclenché en tapant Ctrl- Pqui n'est actif que dans les fenêtres qui ont "Mozilla" dans leur titre. Saisie Ctrl- Paffiche la boîte de dialogue d'impression (Firefox ou Thunderbird), sélectionne Imprimer dans un fichier, puis complète le nom du prochain fichier d'impression disponible dans ma file d'attente d'impression (je les numérote 01, 02, ... et le script lit la file d'attente. répertoire, trouve le dernier numéro de fichier et l’augmente de 1). Je l’utilise avec mon logiciel d’émulation d’impression recto verso ( recto verso ) pour éliminer une tonne de frappes au clavier et de mouvements de souris.

J'ai vu d'autres scripts de joueurs qui leur permettaient d'accéder très rapidement aux informations sur leur personnage et leurs ressources afin de rester concentrés sur l'action.

Joe
la source
1
Pourriez-vous ajouter des informations sur son installation et éventuellement son utilisation? Ce serait génial!
Seth
AutoKey a été partiellement migré de code.google vers GitHub. Voir github.com/autokey/autokey . Il existe également une branche Python 3 - github.com/guoci/autokey-py3 .
Joe
La version actuelle d'AutoKey est disponible sur github.com/autokey/autokey. La branche Python 2 a été amortie.
Joe
7

UTILISATION DE TOUCHES DE CLAVIER COMME DES BOUTONS DE SOURIS

Vous souhaiterez peut-être mapper une touche du clavier sur un bouton de la souris. Si vous souhaitez cliquer avec une touche du clavier (utile si vous avez un macbook ou un mauvais bouton du trackpad), vous pouvez procéder comme suit.

  1. installer des utilitaires:

    sudo apt-get install x11-utils xkbset x11-xserver-utils
    
  2. recherchez le code d'activation de la clé que vous souhaitez mapper:

    • tapez xev | grep keycodele terminal
    • appuyez sur la touche qui vous intéresse et une ligne comme celle-ci apparaîtra:

      state 0x0, keycode 64 (keysym 0xffe9, Alt_L), same_screen YES,  
      
  3. en utilisant le code clavier, remappez la clé pour faire la même chose que le bouton gauche de la souris:

    • xkbset m
    • xmodmap -e "keycode 64 = Pointer_Button1"

Pointer_Button3est le bouton droit de la souris et Pointer_Button2le milieu.

Krumpelstiltskin
la source
4

Utiliser xkb

xkbest l'extension X Keyboard. Il est responsable de la correspondance des touches de votre clavier avec la fonction désignée. xkbles symboles peuvent être trouvés dans /usr/share/X11/xkb/symbols/. Les touches de modification sont mappées /usr/share/X11/xkb/symbols/pc.

Dis, j'ai besoin de changer les fonctions des touches Caps Locket Left Control. Ces modifications sont nécessaires au pcfichier:

key <CAPS> {        [ Control_L             ]       };
key <LCTL> {        [ Caps_Lock             ]       };

Pour appliquer les nouveaux mappages, vous devez vider xkble cache de /var/lib/xkb:

rm -rf /var/lib/xkb/*

Maintenant, redémarrez votre session X et vous êtes prêt à partir.

Source: https://radu.cotescu.com/remapping-keys-in-ubuntu-14.04/

Edit: Faire un lsdans le symbolsrépertoire donne ceci:

af        cm            gn       kz              nec_vndr    sk
al        cn            gr       la              ng          sn
altwin    compose       group    latam           nl          sony_vndr
am        ctrl          hp_vndr  latin           no          srvr_ctrl
apl       cz            hr       level3          nokia_vndr  sun_vndr
ara       de            hu       level5          np          sy
at        digital_vndr  ie       lk              olpc        terminate
az        dk            il       lt              pc          th
ba        ee            in       lv              ph          tj
bd        empty         inet     ma              pk          tm
be        epo           iq       macintosh_vndr  pl          tr
bg        es            ir       mao             pt          tw
br        et            is       md              ro          typo
brai      eurosign      it       me              rs          tz
bt        fi            jp       mk              ru          ua
bw        fo            ke       ml              rupeesign   us
by        fr            keypad   mm              se          uz
ca        fujitsu_vndr  kg       mn              sgi_vndr    vn
capslock  gb            kh       mt              sharp_vndr  xfree68_vndr
cd        ge            kpdl     mv              shift       za
ch        gh            kr       nbsp            si

Les mappages à l'intérieur du fichier rusont basés sur le clavier standard russe. Le macintosh_vndrdossier contient les mappages pour les claviers Apple. En bref, cette approche est tellement polyvalente. Allez-y et jouez avec ça :)

Crisron
la source
Vous avez mentionné 2 fichiers. Dans quel fichier les modifications sont-elles apportées? :)
Seth
J'ai mentionné un seul fichier - /usr/share/X11/xkb/symbols/pc.
Crisron
Ma faute. Il m'a jeté un deuxième coup d'oeil pour réaliser que le premier chemin était un dossier, pas un fichier. Édité pour en faire un peu plus évident :)
Seth
3

Il s'est avéré que cela se trouve sous l'application "clavier".

Si vous en parlez, vous pouvez alors modifier les raccourcis au besoin ...

le changement est un peu étrange lors de la première utilisation. Vous cliquez sur le bouton de droite (la colonne contenant ctrl-alt-T, Désactivé, etc.), puis cliquez sur les clés réelles, par exemple celles ctrlaltbque vous souhaitez. La nouvelle séquence de touches apparaît maintenant dans cet espace. Fermez la fenêtre ( ou cliquez loin) et le nouveau raccourci va maintenant fonctionner.

Michael Durrant
la source
1

Le raccourci existe déjà en tant que WWW, changez-le simplement en Ctrl+ Alt+ b. Pas besoin de créer un nouveau.

entrez la description de l'image ici

Mitch
la source
1

Gestionnaire de paramètres CompizConfig (CCSM)

CCSM vous permet de modifier certains raccourcis clavier du système.

Pour l'installer, utilisez le Centre logiciel ou cette commande:

sudo apt-get install compizconfig-settings-manager

Par exemple

Je l'ai utilisé pour changer le raccourci "Fenêtre répandue" de la valeur par défaut Super+ Wà Super+ Tab, comme sur Windows 10. Voici ma réponse :

  1. Exécuter CCSM à partir du tableau de bord.
  2. Allez dans la fenêtre Gestion -> Échelle -> onglet Liaisons -> Lancer le sélecteur de fenêtre
  3. Cliquez sur le raccourci clavier ( <Super>wsur votre PC, mais <Super>Tabdans cette capture d'écran).

    CCSM - Gestion de fenêtre - Échelle

  4. Cliquez sur Combinaison de touches , appuyez sur les touches souhaitées, puis cliquez sur OK.

    Editer Initier le sélecteur de fenêtre

Wjandrea
la source
1

Je voulais appuyer sur Impr écran pour enregistrer une capture d'écran à l'aide de l' gnome-screenshotapplication, comme dans menthe

Mais je voulais le faire en utilisant un terminal, pas une interface graphique, car je voulais le rendre par défaut lors de la création d'une image ISO personnalisée à l'aide d' squashfsoutils.

J'ai d'abord installé gnome-screenshot en utilisant la commande

sudo apt-get install gnome-screenshot

Puis j'ai assigné le raccourci personnalisé en utilisant Paramètres -> Clavier -> Raccourcis personnalisés -> Bouton Ajouter (+) ->

Dans le dialogue:

  • Nom: Capture d'écran
  • Commande: gnome-screentshot

Appuyez sur le bouton Ajouter

Puis appuyez sur la Print screentouche.

La clé est maintenant liée et je peux enregistrer les captures d'écran si nécessaire.
Mais ne pas utiliser de terminal, c'est la manière de l'interface graphique

Puis j'ai installé en dconf-editorutilisant

sudo apt-get install dconf-editor

Et chercher gnome-screenshot
je trouve mes raccourcis clavier sur ce chemin

/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/

Les valeurs des clés sont:

  • reliant 'Print'
  • commande 'gnome-screenshot'
  • nom 'print screen'

Maintenant, je les copie et supprime la touche de raccourci personnalisée de l'interface graphique

J'ouvre le terminal et tape ces commandes

dconf write /org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/command "'gnome-screenshot'"
dconf write /org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/binding  "'Print'"
dconf write /org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/name "'print screen'"

Et voila

Maintenant, je peux enregistrer des captures d'écran sans interface graphique uniquement à l'aide d'un dconfterminal. Je n'en ai pas besoin dconf-editornon plus, il a juste été installé pour obtenir les valeurs.

Subhani Minhas
la source
1

J'ai essayé la solution de Kevin (approche xmodmap) sur Ubuntu 18.04. Cela n'a pas fonctionné dans mon cas. Pourtant, cette procédure a finalement fonctionné:

  • copier xmodmap .Xmodmapdans un fichier appelé .xsessionplutôt que .xinitrc.
  • changer les permissions du fichier (clic droit, propriétés, onglet permission, changer les permissions pour "lire et écrire" et cocher la case en bas de la fenêtre)
  • Ajouter une application de démarrage avec /home/<YOUR_USER_NAME>/.xsessioncomme commande.
arash
la source