33 votes

Comment afficher ou masquer le Keyboard Viewer à l'aide d'un raccourci clavier ?

Je voudrais afficher et masquer le Keyboard Viewer à l'aide d'un raccourci.

  • Existe-t-il un moyen d'afficher le Keyboard Viewer via un raccourci clavier ?
  • Existe-t-il un moyen d'afficher automatiquement le Keyboard Viewer lorsque je passe à une langue spécifique ?

0 votes

La solution idéale serait d'attribuer un raccourci clavier à un script d'Apple qui affiche le Clavier.

0 votes

J'ai trouvé cette méthode dans Monterey : Préférences système > Accessibilité > Clavier > Viwer - activer ; dans "Options...", sélectionnez un HotCorner à afficher/masquer et réduisez le temps de séjour à 0,25 sec. Ensuite, cela semble fonctionner assez bien avec le pointeur de la souris dans le coin de l'écran.

18voto

Ged Byrne Points 481

Lancer Keyboard Viewer avec un service (Amélioré)

Vous pouvez lancer le Keyboard Viewer à l'aide d'un raccourci en utilisant Automator et la fonctionnalité des services OS X.

Le programme Keyboard Viewer se trouve à /System/Library/Input Methods/KeyboardViewer.app (dans les versions antérieures à Lion, il peut se trouver à l'adresse suivante /System/Library/Components/KeyboardViewer.component/Contents/SharedSupport/KeyboardViewerServer.app ). Vous l'ouvrez avec un raccourci clavier en utilisant Automator pour créer un service de lancement simple.

  1. Ouvrez Automator et sélectionnez Service comme type de votre nouveau document.

  2. Réglez les options (en haut de la zone de travail) sur "Service reçoit". aucune entrée sur toute application ".

  3. Ajouter le Exécuter AppleScript à votre flux de travail, et remplacez le texte par les lignes suivantes :

    if application "KeyboardViewer" is running then
        quit application "KeyboardViewer"
    end if
    
    activate application "KeyboardViewer"
    
    -- wait until the window has been closed, then end the KeyboardViewer process
    set numberOfWindows to 1
    repeat until numberOfWindows = 0
        delay 5
        tell application "System Events"
            tell process "KeyboardViewer"
                set numberOfWindows to count windows
            end tell
        end tell
    end repeat
    quit application "KeyboardViewer"
  4. Sauvez avec un nom comme "Open Keyboard Viewer", puis ouvrir Préférences du clavier à la Raccourcis clavier onglet. Sélectionnez Services dans le volet de gauche et faites défiler jusqu'en bas, où vous devriez voir le nom de votre service sous la section "Général".

  5. Assurez-vous que la case est cochée pour l'activer, puis sélectionnez-la et cliquez sur ajouter un raccourci pour définir une touche de raccourci.

  6. Après avoir défini le raccourci clavier, ouvrez le menu Services dans n'importe quelle application (par exemple, Finder > Services), puis fermez-le. Pour une raison quelconque, mon raccourci clavier ne fonctionnait pas jusqu'à ce que je fasse cela.

Quelques notes :

  • Le script exige que vous vérifiiez l'adresse de l'utilisateur. Permettre l'accès aux appareils fonctionnels dans le volet des préférences Accès universel .
  • La fermeture de la fenêtre Keyboard Viewer n'entraîne pas la fermeture de l'application et, comme le souligne Lri, elle peut être un peu gourmande en ressources. repeat La boucle vérifie toutes les 5 secondes si Keyboard Viewer a des fenêtres ouvertes, et si ce n'est pas le cas, elle quitte le processus.
  • Si vous utilisez un système d'exploitation antérieur à Lion, vous mai doivent remplacer les instances de KeyboardViewer avec KeyboardViewerServer . Je n'ai rien d'antérieur à Lion à portée de main pour tester cela (si quelqu'un d'autre peut faire un rapport dans les commentaires, ce serait génial.
  • Comme le script tourne en boucle jusqu'à la fermeture du Keyboard Viewer, l'icône de la roue dentée d'Automator s'affiche dans la barre de menus jusqu'à sa fermeture.

0 votes

OUI ! C'est exactement pour ce que je cherche. Je connais bien l'automate et les scripts shell, j'avais seulement besoin d'un indice. Merci beaucoup... :)

0 votes

J'ai mis à jour cette version en utilisant un Applescript qui vérifie si la fenêtre a été fermée, et si c'est le cas, quitte le processus, pour éviter la perte de performance. Toute personne intéressée par l'ancienne version basée sur bash peut trouver cette révision aquí .

1 votes

Avec une modification minimale, ce script bascule le visualiseur. Remplacez "end if" par "else" et déplacez "else if" à la fin.

5voto

Render Points 6735

J'ai trouvé un moyen par le biais de BetterTouchTool de faire ce qui suit :

  • Activer le Keyboard Viewer par un raccourci clavier
  • Fermer le Keyboard Viewer par un autre raccourci
  • Basculer le Keyboard Viewer par un seul raccourci (pas besoin des deux précédents)
  • J'ai aussi téléchargé l'AppleScript pour plus de commodité

Plate-forme : rMBP Mountain Lion OSX 10.8


Activer le Keyboard Viewer par un raccourci clavier

  • Lancer BetterTouchTool
  • Ajouter un raccourci clavier
  • Ajouter une action prédéfinie >> Ouvrir Application/Fichier/script...
  • Naviguez jusqu'au disque dur de Macintosh/System/Library/Input Methods/.
  • Sélectionnez KeyboardViewer

Vous disposez maintenant d'un raccourci clavier pour activer la visionneuse sans script supplémentaire.

CEPENDANT, j'ai remarqué que le fait d'appuyer sur le bouton rouge X ne quitte pas réellement l'application, ce qui signifie que le visualiseur de clavier ne sera activé qu'une seule fois. Vous devez donc créer un script pour quitter le programme.

Pour résoudre ce problème :


Fermer le Keyboard Viewer par un autre raccourci clavier

  • Ouvrir Automator
  • Choisissez Application comme type de document
  • Ajouter RunAppleScript
  • Là où il est indiqué (* Votre script va ici *) , remplacez-le par quit application "KeyboardViewer"
  • Compilez et enregistrez dans des documents ou n'importe où ailleurs (je l'ai déplacé au même endroit que KeyboardViewer).
  • Ouvrir BetterTouchTool
  • Ajouter un raccourci clavier
  • Ajouter une action prédéfinie >> Ouvrir Application/Fichier/script...
  • Localisez le fichier d'application que vous venez d'enregistrer

Vous disposez désormais d'un moyen de quitter définitivement le KeyBoard viewer une fois qu'il est activé. Utilisez-le à la place du bouton rouge X. Jusqu'à ce que je comprenne pourquoi le visualiseur de clavier ne se ferme pas complètement lorsque vous appuyez sur le bouton X, ceci devrait être votre solution.

EDIT

J'ai trouvé un moyen de TOGGLE le visualisateur de clavier ! !!


TOGGLE KEYBOARD VIEWER par un seul raccourci clavier

même processus que précédemment mais le code est modifié :

  • Ouvrir Automator
  • Choisissez Application comme type de document
  • Ajouter RunAppleScript
  • Là où il est indiqué (* Votre script va ici *) , remplacez-le par
  if application "KeyboardViewer" is running then
      quit application "KeyboardViewer"
  else
      activate application "KeyboardViewer"
  end if
  • Compilez et enregistrez dans des documents ou n'importe où ailleurs (je l'ai déplacé au même endroit que KeyboardViewer).
  • Ouvrir BetterTouchTool
  • Ajouter un raccourci clavier
  • Ajouter une action prédéfinie >> Ouvrir Application/Fichier/script...
  • Localisez le fichier d'application que vous venez d'enregistrer

Maintenant, l'affichage du clavier est basculé et vous n'avez même pas besoin d'attribuer plusieurs raccourcis !


Lien pour AppleScript

J'ai téléchargé l'application en ligne pour un accès plus rapide plutôt que de faire toutes les étapes de codage ci-dessus (il suffit d'activer cette application via BetterTouchTool). Cependant, comme je ne suis pas un éditeur identifié, votre système d'exploitation peut bloquer l'exécution de cette application, en fonction de vos préférences de sécurité. Donc si vous préférez ne pas exécuter les applications d'éditeurs non identifiés, suivez simplement les étapes ci-dessus pour créer votre propre application !

Lien vers le fichier : https://www.box.com/s/e2461c91e30e0af025e7


J'espère que cela aidera quelqu'un comme cela m'a aidé :)

0 votes

Fantastique ! Je pensais que l'ajout de l'application keyboardViewer directement à mon index de la barre de lancement serait un bon substitut pour mes besoins, mais il n'y a pas d'option pour fermer kbv une fois qu'il est en cours d'exécution ! donc, vous ne pouvez pas l'invoquer une deuxième fois - bizarre. de toute façon votre script fonctionne à merveille ! (J'ai dû le sauvegarder en tant que script/run seulement pour que ça marche pour moi). Tx !

0 votes

@memeLab Heureux que cela ait fonctionné pour vous :)

0 votes

C'est l'approche que j'ai dû adopter pour obtenir le comportement que je voulais. Merci pour la réponse. Je m'étonne encore aujourd'hui que le BTT toujours n'a pas d'action intégrée qui offre des capacités de basculement. Je dois toujours faire un script comme celui-ci ou un truc funky/hacky avec une variable stockée pour obtenir la fonctionnalité de basculement en utilisant le même raccourci clavier.

5voto

Tyrvian Points 959

Je suis content d'avoir trouvé ce fil de discussion. Sur la base des réponses ci-dessus, j'ai fait une extension Alfred script qui permet de basculer le Keyboard Viewer.

https://dl.dropbox.com/u/29440342/linkedFiles/Keyboard%20Viewer.alfredextension

Il fournit un mot-clé alfred "kv" qui permet d'activer et de désactiver la visionneuse de clavier, en exécutant l'applescript suivant :

-- adapted from http://apple.stackexchange.com/a/62532
if application "KeyboardViewer" is running then
    quit application "KeyboardViewer"
else
    activate application "KeyboardViewer"
end if

(*
-- adapted from http://apple.stackexchange.com/a/59986
tell application "System Events" to tell process "SystemUIServer"
    tell (menu bar item 1 where description is "text input") of menu bar 1
        click
        click (menu item 1 where title ends with "Keyboard Viewer") of menu 1
    end tell
end tell
*)
-- icon ripped from osx /System/Library/PreferencePanes Keyboard.prefPane/Contents/Resources/Keyboard.icns

J'ai laissé une implémentation alternative commentée, au cas où je rencontrerais des problèmes de performance qu'elle était censée éviter.

1 votes

Lien brisé. Auriez-vous l'amabilité de le réafficher ? C'est un flux de travail Alfred que j'utiliserais.

0 votes

Voilà, je l'ai réimplémenté (et aussi ajouté un raccourci clavier Cmd+Alt+Ctrl+Shift+K) : packal.org/workflow/toggle-keyboard-viewer-0

5voto

timcleary Points 31

C'est mort dans Catalina - il n'y a plus d'application appelée KeyboardViewer.

Utilisez plutôt les options d'accessibilité dans les préférences système et désactivez tout le reste afin que le raccourci des options d'accessibilité ( + + F5) ne fasse qu'activer et désactiver le clavier d'accessibilité. Bien sûr, si vous avez besoin des autres options et de voir le clavier, vous êtes fichu. Merci Apple !

Accessibility options with only Keyboard selected

4voto

mach Points 702

El Plugin scripts supplémentaire de Quicksilver offre cette fonctionnalité en fournissant Montrer Keyboard Viewer.scpt .

De même, lorsque vous créez un déclencheur Quicksilver pour Montrer Keyboard Viewer.scpt avec l'action Exécuter vous obtenez alors le raccourci clavier global de Keyboard Viewer.

Voici la source du script :

property theApplication : "KeyboardViewer"
property thePath : "/System/Library/Input Methods/KeyboardViewer.app"

set HFSPath to ((POSIX file thePath) as string)
tell application "System Events" to ¬
    set isRunning to 0 < (count (application processes whose name is theApplication))
if isRunning then
    tell application HFSPath to quit
else
    ignoring application responses
        tell application HFSPath to activate
    end ignoring
end if

Si KeyboardViewer est ouvert avec un AppleScript ou avec open et que la fenêtre principale est fermée, le processus Keyboard Viewer reste ouvert et continue à utiliser environ 0-20% du CPU.

0 votes

D'habitude, je n'aime pas installer des applications tierces pour des choses simples à scripter, mais là, c'est l'exception . :) Merci beaucoup, ça marche comme sur des roulettes ;)

0 votes

Si vous voulez éviter les logiciels tiers, je viens de poster une réponse qui fera la même chose avec les logiciels intégrés.

0 votes

Sry mach, @CanuckSkier a posté une réponse à ce que je préfère, donc j'accepte sa réponse. +1 quand même pour le QuickSilver ;)

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