web-dev-qa-db-fra.com

Changement de langue de mise en page sans mode / sans état avec verrouillage des majuscules (18.04 LTS Bionic Beaver)

Cela a été demandé un nombre incalculable de fois, je vais donc essayer d'être bref.

J'ai deux dispositions d'entrée , ukrainien et anglais, et je souhaite:

  • à utiliser Caps Lock pour une commutation rapide;
  • pas aucun retard imposé, je suis un typer rapide;
  • pas erreurs de mode :
    • (n'importe quel nombre de) CapsLock définit l'anglais,
    • (n'importe quel nombre de) ShiftCapsLock définit l'ukrainien;
  • voir la disposition actuelle dans le widget standard.

J'ai déjà essayé trois (!) GUI pour le configurer, les paramètres Gnome, le gnome-Tweak-tool, le dconf-editor/gsettings. Rien ne fonctionne. Tweaks se bloque aléatoirement.

Assez de devoirs faits

Je l'ai demandé moi-même il y a 4 ans pour 14.04 LTS. Depuis lors, ce popup UI est apparu et tout s'est cassé. Je peux maintenant facilement configurer avec état CapsLock basculer, mais même alors, il va avec ce retard irritant. Fondamentalement inutilisable lorsque j'ai besoin de changer de langue 4 à 5 fois par phrase.

Ce fil suggère caps:none L'option XKB comme solution de contournement de bogue. J'ai essayé, avec gsettings CLI et dconf-editor, et en combinaison avec grp:shift_caps_switch Option XKB. Pas de dé. Quelque chose l'emporte sur ces fonctionnalités XKB de base, comme il semble.

Ce fil propose caps:menu Option XKB comme hack pour pouvoir se lier CapsLock dans Gnome Settings → Périphériques → Clavier. Cela fonctionne un peu, mais A) il donne une commutation cyclique/avec état; B) Je dois attendre un timeout décent à chaque changement.

Ce fil demande exactement ce dont j'ai besoin, mais c'est sans réponse et encore pire: fermé en double de deux autres questions (???) dont aucune n'est la même, et aucune ne me donne une solution de travail . Qu'est-ce qui ne va pas avec vous?

Il y a ne autre correspondance exacte - hélas, sans réponse aussi!


Recherché: solution propre

12
ulidtko

Dans Ubuntu 18.04, par défaut, il y a une option pour choisir Caps_Lock et Shift+Caps_Lock pour obtenir le comportement que nous recherchons, est en gnome-tweaks. Mais cela ne fonctionne pas et n'a pas pu comprendre pourquoi.

enter image description here

J'ai réussi à obtenir ce comportement par la solution de contournement ci-dessous.

Voir ce lien pour une vidéo de 20 secondes. https://imgur.com/QNdrVqa

vérifiez d'abord les commandes ci-dessous dans le terminal si elles changent la langue d'entrée.

gdbus call --session --dest org.gnome.Shell --object-path /org/gnome/Shell --method org.gnome.Shell.Eval "imports.ui.status.keyboard.getInputSourceManager().inputSources[1].activate()"

et

gdbus call --session --dest org.gnome.Shell --object-path /org/gnome/Shell --method org.gnome.Shell.Eval "imports.ui.status.keyboard.getInputSourceManager().inputSources[0].activate()"

eh bien, ils fonctionnent.

enter image description here

nous devons lier ces commandes aux pressions de touches de Caps_Lock et Shift+Caps_Lock

peut y parvenir avec xbindkeys si xbindkeys n'est pas encore installé, installez-le par Sudo apt install xbindkeys

  1. créer un fichier .xbindkeysrc dans le dossier $ HOME
    touch ~/.xbindkeysrc
  2. pour connaître le keycode/id quel que soit son nom
    courir xbindkeys --key une fois que la boîte blanche apparaît, appuyez sur la touche Caps_Lock bouton, faites-le pour Shift bouton également et copiez les codes/identifiants comme indiqué ci-dessous

enter image description here

  1. cette étape est facultative. Désactivez le verrouillage des majuscules. Voir ci-dessous gif. Si le verrouillage des majuscules n'est pas désactivé .. lorsque vous appuyez plusieurs fois sur la touche, il bascule pendant que vous essayez de changer la langue. Je l'ai désactivé. mais il est basé sur votre intérêt.

enter image description here

  1. Ouvrez le fichier .xbindkeysrc
    gedit ~/.xbindkeysrc et modifiez le fichier comme ci-dessous en fonction des résultats des étapes ci-dessus

Modifiez les valeurs dans le contenu ci-dessous en fonction des résultats obtenus à l'étape 2 ci-dessus. Contenu:

"gdbus call --session --dest org.gnome.Shell --object-path /org/gnome/Shell --method org.gnome.Shell.Eval "imports.ui.status.keyboard.getInputSourceManager().inputSources[0].activate()""
m:0x10 + c:66

"gdbus call --session --dest org.gnome.Shell --object-path /org/gnome/Shell --method org.gnome.Shell.Eval "imports.ui.status.keyboard.getInputSourceManager().inputSources[1].activate()""
Shift+Mod2 + Shift_L+m:0x10 + c:66
  1. Enregistrez le fichier, fermez et redémarrez.
5
PRATAP

Il existe un rapport de bogue auquel vous pouvez vous abonner:

Le rapport de bogue se lit comme suit:

Le panneau du clavier a des options pour la commutation d'entrée, mais il ne permet pas d'utiliser les majuscules comme commutateur de langue.

Étapes à reproduire:

  1. clavier gnome-control-center
  2. Faites défiler jusqu'à la section "Saisie"
  3. Cliquez sur Passer à la source d'entrée suivante
  4. Capsules de presse

Résultat attendu: La touche de verrouillage des majuscules est acceptée comme touche de commutation Résultats réels: La touche de majuscules est ignorée dans la fenêtre de sélection.

P.S. Il en va de même pour "Basculer vers la source d'entrée précédente" et combinaison de touches Maj-Maj.

Solutions de contournement de bogues

Le bug est actuellement sur la "Wishlist". Ces solutions de contournement sont proposées:

Solution de contournement 1

Trouvé une solution de contournement pour ce bogue:

  1. Installer dconf-editor (Sudo apt-get installer dconf-editor)
  2. Accédez à/org/gnome/desktop/wm/keybindings /
  3. Sélectionnez l'interrupteur-source d'entrée, désactivez "Utiliser la valeur par défaut" et définissez "Valeur personnalisée" sur ['Caps_Lock']
  4. (Facultatif) Vous pouvez également changer la valeur de switch-input-source-backward en quelque chose comme ['Caps_Lock'] (encore une fois, en désactivant "Utiliser la valeur par défaut")

Solution de contournement 2

Une autre façon de procéder: 1. Installez GNOME Tweaks (gnome-Tweak-tool) 2. Ouvrez l'application Tweaks 3. Basculez vers le panneau Clavier et souris 4. Cliquez sur Options de mise en page supplémentaires 5. Utilisez la section "Basculement vers une autre mise en page"

Abonnez-vous au rapport de bogue

Je recommanderais de vous abonner au rapport de bogue et d'ajouter vos propres expériences. Plus le nombre de personnes souscrivant au rapport de bogue est élevé, plus la solution est rapide (généralement).

5
WinEunuuchs2Unix