web-dev-qa-db-fra.com

Changer la disposition du clavier avec les deux combos Alt + Shift gauche et droit

J'utilise la disposition du clavier anglais et persan sur mon système Ubuntu. Je veux changer la disposition du clavier à la fois avec Left Alt+Left Shift et Right Alt + Right Shift. Actuellement je ne peux pas utiliser Right Alt+Right Shift changer la disposition du clavier du persan à l'anglais afin que je dois utiliser Left Alt+Left Shift pour le changer.

Est-ce que quelqu'un sait comment je peux mettre Alt+Shift changer la disposition du clavier des deux côtés? J'utilise Ubuntu 12.04.

Merci!

6
Alireza41

Ok, encore un essai, celui-ci fera l'affaire j'espère ...;)

Les crédits sont dus à reverendj1 , qui a décrit une manière d’affecter un touche personnalisée à bascule la disposition du clavier , en utilisant setxkbmap , qui figurait dans la solution de contournement a fait allusion dans Edit 2 de ma réponse précédente ...

Voici la manière légèrement plus impliquée, mais vous donnera plus de flexibilité pour la combinaison de touches. Tout d’abord, copiez et collez ce script que j’ai écrit et appelez-le comme kb_toggle.sh. Assurez-vous de modifier LANG1 et LANG2 afin qu’ils correspondent aux codes de configuration de clavier nécessaires.

#!/bin/bash

LANG1="us"
LANG2="de"
CURRENT_LANG=$(setxkbmap -query | tail -n 1 | cut -f6 -d ' ')
if [ "$CURRENT_LANG" = $LANG1 ]; then
    setxkbmap $LANG2
else
    setxkbmap $LANG1
fi

créez le fichier en faisant un clic droit dessus -> "Propriétés" -> onglet "Autorisations", puis sélectionnez "Autoriser l'exécution du fichier en tant que programme.".

Ouvrez maintenant les "Paramètres système" -> "Clavier" -> "Raccourcis" et sélectionnez "Raccourcis personnalisés". Cliquez sur le bouton + en bas et nommez le raccourci "Basculement du clavier" ou ce que vous voulez, vraiment. Indiquez ensuite le chemin d'accès complet au script que vous avez défini précédemment dans la zone de commande. Appuyez sur Appliquer. Cliquez à l'endroit où il est écrit "Désactivé". Vous pouvez alors définir le raccourci comme bon vous semble en cliquant sur votre combinaison de touches!

Je pense que vous auriez besoin de changer "de" en "ir".

Encore une fois, bonne chance!


Modifier

Vous pouvez même vous en tirer avec un one-liner , si vous préférez:

setxkbmap us,ir -option "grp:alt_shift_toggle"

Maintenant, vous pouvez basculer en appuyant sur alt + shift

Voir aussi http://wiki.lxde.org/en/Change_keyboard_layouts et http://www.x.org/releases/X11R7.7/doc/man/man1/setxkbmap .1.xhtml


Éditer 2

Selon comment vous décidez d’atteindre votre objectif, vous pouvez inclure lv3:ralt_alt dans votre commande, ce qui entraîne:

setxkbmap us,ir -option "lv3:ralt_alt,grp:alt_shift_toggle"

Voir man xkeyboard-config | grep lv3 pour plus de détails:

lv3: ralt_alt

La touche Alt droite ne choisit jamais le 3ème niveau

   xkeyboard-config  provides  the  description files for the X Keyboard Extension (XKB). The configuration options below are
   usually applied with setxkbmap(1).
5
nutty about natty

La "touche Alt droite" est souvent (toujours?) pasidentique à la "touche Alt gauche", mais correspond à la AltGr, voir par exemple

et en tant que tel a une fonction différente et distincte.

Vous voudrez peut-être essayer d'utiliser xdotool pour émulerun certain comportement de combinaison de touches. Ainsi, vous pouvez définir le

  1. Left Alt + Left Shift de la manière décrite par Abdulkader dans sa réponse, et
  2. la deuxième combinaison en tant que Right AltGr + Right Shift) avec xdotool.

Modifier

Pour un exemple détaillé de la manière dont cela peut être effectué en général, avec des captures d'écran , référez-vous à L'excellente réponse de ( izx) ici . Concernant spécifiquement vos questions, vous pourriezessayer

xdotool clé --clearmodifiers alt + shift

puis attribuer cette commande au Shift+Level3 Shift (ne tapez pas ceci, appuyez simplement sur right_Shift + right_AltGr) dans Raccourcis personnalisés . Encore une fois, plz fait référence à la partie pertinente de la réponse de izx .

Voilá, vous êtes triés.


Notez que si vous essayez de le faire "à l’inverse" comme

clé xdotool --clearmodifiers ISO_Level3_Shift + Shift

(ou alternativement, mais moins susceptible de fonctionner, Alt_R+Shift_R), en notant que AltGr est "équivalent à" ISO_Level3_Shift ,

vous seriez probablement bloqué, parce que "Alt_R + Shift_R" ne semble pas semble être proposé dans la boîte de dialogue de la touche de changement de disposition standard.


Autres lectures : à partir de la xdotool man page:

Généralement, toute chaîne X Keysym valide fonctionnera. Plusieurs clés sont séparées par '+'. Des alias existent pour " alt ", "ctrl", "shift", "super" et "méta" qui sont tous mappés sur Foo_L, tels que Alt_L et Control_L, etc.

aussi Remapper la touche AltGr sur Control avec setxkbmap peut vous intéresser ...


Éditer 2

Voir https://bugs.launchpad.net/ubuntu/+source/xdotool/+bug/696247 et http://code.google.com/p/semicomplete/issues/ detail? id = 1 ... et la solution de contournement qui y est suggérée (et a confirmé son bon fonctionnement à compter de novembre 2012) de "La solution de contournement, pour l'instant , est d’utiliser setxkbmap pour forcer votre clavier en xmodmap (setxkbmap dvorak, etc) ". Ainsi, référez-vous à ma deuxième réponse séparée.

3
nutty about natty

Vous pouvez utiliser Alt-Shift pour les deux langues

Paramètres système ... → Disposition du clavier → (cliquez sur "+" pour ajouter de nouvelles dispositions de langue) →

Options ... → (cliquez sur) "Touche (s) pour changer la disposition" → → (cochez) "Alt gauche + décalage gauche" → Fermer

enter image description here

enter image description here

2
Abdulkader

Ajoutez simplement cette commande en tant que application de démarrage :

setxkbmap -option lv3:ralt_alt,grp:alt_shift_toggle us,ir

Cela devrait activer les deux bascules Alt-Shift. Cependant, vous perdrez la fonctionnalité de composition de la touche Alt droite (par exemple, vous ne pourrez pas dessiner un symbole euro (€) en appuyant sur les touches RightAlt + E).

Les options de setxkbmap, y compris les codes de langue, sont documentées sous /usr/share/X11/xkb/rules/base.lst.

Vous pouvez d'abord tester la commande dans un terminal avant de l'ajouter à vos applications à démarrage automatique.

Source: http://crunchbang.org/forums/viewtopic.php?id=11038 (message n ° 7)

1
Glutanimate

allez dans les configurations de clavier à partir du tiret, puis cliquez sur options, il y a une option key(s) to change layout cocher alt+shift. Cela fonctionne pour moi, alt et shift fonctionnent même à droite alt + shift à gauche fonctionne :)

0
Anam Ahmed

Persian et d'autres mises en page sont codés en dur pour avoir ISO_Level3_Switch (AltGr ou autre!) Au lieu de Right Alt. Ainsi, lorsque vous êtes en anglais, vous pouvez utiliser Alt_R + Shift_R/Shift_R + Alt_R pour passer en persan, mais lorsque vous utilisez persan, utilisez la touche Alt_R n'est plus mais ISO_Level3_Switch!

Merci à Sneetsher nous savons comment changer un ISO_Level3_Scode codé en dur en ALT normal

0
Ali Shahbazi