1 votes

Comment changer la source d'entrée en une autre langue avec un raccourci (une seule combinaison de touches) ?

Je veux utiliser quatre langues dans mon système OS X (anglais, espagnol, chinois et japonais), et je sais que je peux changer la langue avec + Space . Cependant, j'éprouve une haine pathologique à l'idée de passer à l'acte, car cela m'oblige à faire un choix parmi tant et tant de possibilités ! Je sais aussi que je peux le changer à partir de la barre de menu à droite de la barre, mais c'est beaucoup plus dégoûtant que la fonction + Space solution.

Je veux donc plutôt le changer avec un raccourci plus facile, comme le suivant :

  • gauche passe à l'anglais
  • droite passe à l'espagnol
  • gauche + gauche + C passe au chinois
  • droite + droit + C passe au japonais.

J'ai essayé d'utiliser Karabiner (le descendant de KeyRemap4MacBook ), mais il ne fonctionne pas à la première tentative sur le chinois, sur lequel lorsque je passe au chinois, il reste anglais (l'icône de la source d'entrée sur la menubar change, mais le clavier ne fonctionne pas). Mais pour certaines raisons, si je passe de l'anglais au chinois puis de l'anglais au chinois (deux tentatives), alors le clavier chinois fonctionne enfin.

Donc je n'aime pas l'idée d'utiliser Karabiner . Alors, quelle est la meilleure façon de changer la source d'entrée ?

3voto

Fuzzy Purple Monkey Points 702

J'ai rencontré le même problème avec le chinois et le japonais. (L'icône de la barre de menu changeait mais la source d'entrée n'était pas réellement modifiée jusqu'à ce que je passe à une autre source d'entrée et inversement). Il s'agit d'un bogue connu selon un message sur la liste de diffusion de Karabiner :

C'est l'un des bogues les plus ennuyeux d'OS X.

La modification des sources d'entrée CJK directement à partir du programme n'est pas gérée de manière appropriée.

Vous devez donc suivre les procédures suivantes.

Étape 1 :
Activez "Sélectionner la source suivante dans le menu de saisie" (commande-option-espace) dans Préférences système > Clavier > Raccourcis.

Étape 2 :
Changez la source d'entrée en envoyant la commande-option-espace.

<autogen>
  __KeyToKey__
  KeyCode::K, ModifierFlag::OPTION_L,
  KeyCode::VK_CHANGE_INPUTMODE_US,
  KeyCode::VK_WAIT_100MS,
  KeyCode::SPACE, ModifierFlag::COMMAND_R | ModifierFlag::OPTION_L,
  <!-- adjust wait for your machine -->
  KeyCode::VK_WAIT_10MS,
  KeyCode::VK_WAIT_10MS,
  KeyCode::VK_WAIT_10MS,
  KeyCode::SPACE, ModifierFlag::COMMAND_R | ModifierFlag::OPTION_L,
  <!-- adjust wait for your machine -->
  KeyCode::VK_WAIT_10MS,
  KeyCode::VK_WAIT_10MS,
  KeyCode::VK_WAIT_10MS,
  KeyCode::SPACE, ModifierFlag::COMMAND_R | ModifierFlag::OPTION_L,

  Option::NOREPEAT,
</autogen>

changement d'entrée est affecté par le même bug.

Une autre solution consiste à passer à une autre source d'entrée et à revenir en arrière :

<root>
  <vkchangeinputsourcedef>
    <name>KeyCode::VK_CHANGE_INPUTSOURCE_HIRAGANA</name>
    <inputsourceid_equal>com.apple.inputmethod.Kotoeri.Japanese</inputsourceid_equal>
  </vkchangeinputsourcedef>
  <vkchangeinputsourcedef>
    <name>KeyCode::VK_CHANGE_INPUTSOURCE_SPANISH</name>
    <inputsourceid_equal>com.apple.keylayout.Spanish</inputsourceid_equal>
  </vkchangeinputsourcedef>
  <vkchangeinputsourcedef>
    <name>KeyCode::VK_CHANGE_INPUTSOURCE_US</name>
    <inputsourceid_equal>com.apple.keylayout.US</inputsourceid_equal>
  </vkchangeinputsourcedef>
  <vkchangeinputsourcedef>
    <name>KeyCode::VK_CHANGE_INPUTSOURCE_CHINESE</name>
    <inputsourceid_equal>com.apple.inputmethod.TCIM.Pinyin</inputsourceid_equal>
  </vkchangeinputsourcedef>
  <item>
    <name>inputsources</name>
    <identifier>inputsources</identifier>
    <autogen>__KeyOverlaidModifier__ KeyCode::COMMAND_L, ModifierFlag::COMMAND_L | ModifierFlag::NONE, KeyCode::VK_CHANGE_INPUTSOURCE_US, KeyCode::COMMAND_L</autogen>
    <autogen>__KeyOverlaidModifier__ KeyCode::COMMAND_R, ModifierFlag::COMMAND_R | ModifierFlag::NONE, KeyCode::VK_CHANGE_INPUTSOURCE_SPANISH, KeyCode::COMMAND_R</autogen>
    <autogen>__KeyToKey__ KeyCode::C, ModifierFlag::OPTION_L | ModifierFlag::COMMAND_L | ModifierFlag::NONE, KeyCode::VK_CHANGE_INPUTSOURCE_CHINESE, KeyCode::VK_CHANGE_INPUTSOURCE_US, KeyCode::VK_CHANGE_INPUTSOURCE_CHINESE</autogen>
    <autogen>__KeyToKey__ KeyCode::C, ModifierFlag::OPTION_R | ModifierFlag::COMMAND_R | ModifierFlag::NONE, KeyCode::VK_CHANGE_INPUTSOURCE_HIRAGANA, KeyCode::VK_CHANGE_INPUTSOURCE_US, KeyCode::VK_CHANGE_INPUTSOURCE_HIRAGANA</autogen>
  </item>
</root>

0 votes

Votre deuxième solution désactive la touche de commande pour tous les autres raccourcis (comme + W pour fermer la fenêtre), ce qui n'est absolument pas ce que je veux... Quant à la 1ère solution, je l'essaierai plus tard.

0 votes

En ce qui concerne votre première solution, je ne vois pas très bien pourquoi vous voulez attendre 160 ms et changer trois fois...

0 votes

Hmmm... J'ai encore des problèmes dans le __KeyOverlaidModifier__ comme indiqué ci-dessus, mais j'ai échangé les sources d'entrée japonaises et espagnoles parce que les sources d'entrée japonaises peuvent fonctionner correctement si vous les définissez dans les préférences de Karabiner dans la section des sources d'entrée japonaises. Merci pour votre réponse.

0voto

Tetsujin Points 95239

Est une touche "morte", une touche de modification. Elle ne fait rien par elle-même, mais comme elle tient un compte du nombre de fois où elle a été enfoncée, cela pourrait expliquer pourquoi elle fonctionne au deuxième essai.

Plus précisément... pourquoi voudriez-vous utiliser pour changer de langue d'entrée, éliminant ainsi son utilisation pour toute autre fonction.

Pourquoi ne pas utiliser les touches F, peut-être, à la place ?

Une meilleure solution pourrait être l'une de ces...

https://superuser.com/questions/224161/switch-to-specific-input-source

0 votes

Je ne me contente pas d'utiliser la touche "Apple". (vous avez peut-être confondu (touche commande) avec la touche Apple... ?)

0 votes

Eh bien, c'est parce que est la plus facile à taper, et le passage d'une langue à l'autre est très fréquent.

0 votes

Mon point de vue reste valable.

0voto

Vérifier ceci

commutation par simple pression de la touche left_shift -> us, right_shift->ua

"rules": [
                    {
                        "description": "Right Shift to UA",
                        "manipulators": [
                            {
                                "from": {
                                    "key_code": "right_shift",
                                    "modifiers": {
                                        "optional": [
                                            "any"
                                        ]
                                    }
                                },
                                "to": [
                                    {
                                        "key_code": "right_shift",
                                        "lazy": true
                                    }
                                ],
                                "to_if_alone": [
                                    {
                                        "select_input_source": {
                                            "language": "uk"
                                        }
                                    }
                                ],
                                "type": "basic"
                            }
                        ]
                    },
                    {
                        "description": "Right Shift to US",
                        "manipulators": [
                            {
                                "from": {
                                    "key_code": "left_shift",
                                    "modifiers": {
                                        "optional": [
                                            "any"
                                        ]
                                    }
                                },
                                "to": [
                                    {
                                        "key_code": "left_shift",
                                        "lazy": true
                                    }
                                ],
                                "to_if_alone": [
                                    {
                                        "select_input_source": {
                                            "language": "en"
                                        }
                                    }
                                ],
                                "type": "basic"
                            }
                        ]
                    }
                ]
            }

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X