Comment définir des raccourcis clavier personnalisés à partir d'un terminal pour différentes versions de Linux?
En gros, je veux savoir où Linux stocke les fichiers de raccourci clavier et comment ils peuvent être modifiés.
Lors de mes recherches, j’ai trouvé un fichier, ~/.config/compiz-1/compizconfig
mais c’était plus ou moins crypté lorsque j’ai essayé de l’ouvrir nano
.
command-line
keyboard
shortcut-keys
Ornithorynque anonyme
la source
la source
Réponses:
Ajout de raccourcis clavier en deux étapes à partir de la ligne de commande (14.04+)
Ajout de raccourcis personnalisés à partir de la ligne de commande peut être fait, mais c'est un peu compliqué; cela doit être fait en quelques étapes par liaison de clé. D'autre part, il est assez simple et peut très bien être scénarisé si vous voulez en quelque sorte de le faire à partir de la ligne de commande (qui était la question, non?).
Tout comme dans votre interface (Paramètres système> "Clavier"> "Raccourcis"> "Raccourcis personnalisés"), les raccourcis clavier personnalisés sont créés à partir de la ligne de commande en deux étapes:
créez le raccourci clavier en modifiant (en ajoutant) la liste renvoyée par la commande:
La liste renvoyée se présente comme suit (s’il ne s’agissait que d’un seul raccourci):
Appliquez la liste modifiée à l'aide de la commande:
(attention aux guillemets)
NB Pas besoin de dire que la mention dans la liste (par exemple
custom1
,custom2
) doit être unique. Si vous écrivez un script, le script devrait empêcher les doublons. Dans ce cas, la liste modifiée devrait ressembler par exemple à:pour ajouter un raccourci clavier:
custom1
définir ses propriétés:
Nom:
commander:
Combinaison de touches (par exemple
<Primary><Alt>g
):Des informations utiles peuvent être trouvées ici
Exemple de script pour définir un nouveau raccourci personnalisé
Le script ci-dessous peut être utilisé pour définir une nouvelle combinaison de touches de raccourci à partir de la ligne de commande. Il peut être utilisé avec la commande (en supposant que la combinaison de touches soit disponible):
Un exemple:
Pour définir une combinaison de touches de raccourci à ouvrir
gedit
avec la combinaison de touches Alt+ 7:Le scénario:
Comment utiliser:
Collez le script dans un fichier vide, enregistrez-le sous
set_customshortcut.py
, exécutez-le comme expliqué ci-dessus.Certaines des mentions de clé les plus utilisées (trouvées expérimentalement, examinant les modifications apportées par la méthode de l'interface graphique à la valeur de liaison):
etc.
la source
custom-keybinding
ne devrait pas contenir "s" à la fin quand dans un schéma. Mais, il devrait contenir "s" quand agir comme clé ou dans le chemin. Sinon, la commande "set" lève une exception. Alors, supprimez les "s" decustom-keybinding
dans le schéma. En outre, votre script python devrait également être mis à jour.gsettings
retours@as []
qui ne sont pas évalués.Il existe un moyen simple de le faire en utilisant
dconf
:Utilisant
gsettings
:Vous devez augmenter le nombre dans la
custom0
pièce pour ajouter plus de liaisons, c'est-à-dire.custom1
,custom2
Etc.Pour le rendre permanent, ajoutez-le simplement à
.bash_profile
un script similaire exécuté par des shells de connexion. Il suffit de ne pas le faire pour les shells non connectés.bashrc
car, d’après mon expérience, ceuxdconf
- ci legsettings
ralentissent considérablement. Changer / ajouter 30 liaisons prend une seconde! Vous ne voulez pas cela dans un shell sans connexion (.bashrc
)!la source
custom0
à la liste des raccourcis personnalisés, par exemple avecgsettings set org.gnome.settings-daemon.plugins.media-keys custom-keybindings "['.../custom1/']"
. Je ne sais pas pourdconf
.dconf dump DIR
pour vider un sous-chemin entier sur stdout. La sortie est dans un format semblable à un fichier de clés, avec des valeurs dans la syntaxe GVariant.Tous les paramètres de raccourcis clavier personnalisés sont stockés dans la base de données dconf.
Vous pouvez facilement y accéder avec
dconf-editor
:Ensuite, accédez au chemin d'accès dconf suivant dans l'éditeur:
la source
Ajout de raccourcis clavier à partir de la ligne de commande dans 12.04
Pour éviter que la réponse acceptée ne devienne trop volumineuse, publiez une solution distincte pour 12.04.
Jusqu'au 12.04 inclus (et y compris), les associations de touches personnalisées ne sont pas stockées dans la
dconf
base de données, mais dans~/.gconf/desktop/gnome/keybindings
(dans un fichier xml, dans des sous-dossiers tels quecustom0
etc.).Le script ci-dessous crée le
xml
fichier et son dossier contenant, nommé automatiquement correctement.Comment utiliser
set_customshortcuts_12.py
Exécutez-le avec la commande:
key3
est optionnel, les commandes peuvent être par exemple:ou
Remarques
la source
Vous pouvez définir un nouveau raccourci personnalisé sans script Python, en utilisant sed. Il vous suffit de définir le nom , la liaison et l' action à votre choix dans le script suivant:
la source
A écrit un script pour ça. Voir ci-dessous.
Voir l'utilisation dans l'
creatShortcut
invocation.la source
J'ai trouvé la réponse de @JacobVlijm très utile, notamment le script. J'ai porté le code à
bash
. Je ne pense pas que cette fonction soit parfaite, elle contient peut-être quelques bugs, mais cela fonctionne pour moi.la source