Ajouter une clé de composition à OS X

10

Je veux changer une de mes touches de mon clavier en une touche de composition afin de pouvoir facilement taper des accents ou des caractères courants, par exemple: Compose+ e+ '-> é.

Existe-t-il un paramètre que je peux modifier ou un programme que je peux installer pour ajouter cette fonctionnalité? Par exemple, je voudrais utiliser Caps Lockcomme Compose.

MikeyB
la source
1
Si vous êtes sur OS X Lion, le fait de maintenir enfoncée une touche alphabétique vous donnera, par défaut, une liste de caractères accentués courants parmi lesquels vous pourrez choisir à l'aide des touches numériques.
Dan J
1
Uniquement dans certaines applications. Et seulement celles qu'Apple a choisies pour vous qui ont tendance à être incomplètes.
MikeyB
1
Cette question (et réponse) est également liée: superuser.com/questions/202695/real-compose-key-on-mac-os
elaichi
1
FWIW, la liste pré-approuvée par Apple des caractères accentués parmi lesquels vous pouvez choisir peut être piraté .
Daniel

Réponses:

20

J'ai écrit un article complet expliquant comment configurer une vraie clé de composition (par exemple Right Option + '+ eépar exemple), en utilisant une combinaison de KeyRemap4MacBook et des règles d'entrée spécifiques de Cocoa.

Étape 1: choisissez une clé de composition

Choisissez la touche Composer pour qu'elle soit facilement accessible mais ne vous empêche pas de faire ce que vous faites habituellement. J'utilise la Right Optionclé comme clé de composition. J'ai déjà une Left Optionclé donc la bonne m'est un peu inutile. Et cela correspond en quelque sorte à la position de la Composetouche sur les anciens claviers Sun.

Ce serait Right Optionsur un clavier Mac. Je le recommande.

Étape 2: remapper la touche Composer

Le problème est que les préférences du clavier Mac OS X:

  • ne vous laissez pas faire la différence entre les touches Left OptionetRight Option
  • vous permet uniquement de remapper les touches de modification sur une autre touche de modification (ou sur rien)

Heureusement, il existe KeyRemap4MacBook qui vous permet de faire des choses de très bas niveau avec votre clavier. Installez-le.

Nous allons maintenant remapper notre clé de composition à quelque chose que la couche suivante comprendra. J'ai choisi Shift Control F13pour ça. Il est très peu probable que vous ayez besoin de cette combinaison de touches.

Dans le fichier, ~/Library/Application Support/KeyRemap4MacBook/private.xmlmettez ce qui suit:

<?xml version="1.0"?>
<root>
  <item>
    <name>Send Shift-Ctrl-F13 for Right Option</name>
    <identifier>private.send_shift_ctrl_f13_for_ropt</identifier>
    <autogen>--KeyToKey-- KeyCode::OPTION_R,
                          KeyCode::F13, ModifierFlag::SHIFT_L
                                      | ModifierFlag::CONTROL_L
    </autogen>
  </item>
</root>

Enfin, dans les Préférences Système , ouvrez les paramètres KeyRemap4MacBook et cliquez sur le bouton ReloadXML . Activez ensuite la nouvelle option.

Étape 3: créer des liaisons de composition

La dernière étape est la création des liaisons réelles. J'ai choisi d'importer les règles depuis /usr/share/X11/locale/en_US.UTF-8/Composemon système Debian.

Bob Kåres a écrit un script qui vous permet de convertir les règles de composition X11 en liaisons de touches Cocoa.

Soit convertir Composevotre propre fichier en utilisant le script de Bob, ou télécharger mon DefaultKeyBinding.dict à partir de l'article . Enregistrez-le ~/Library/KeyBindings/DefaultKeyBinding.dict.

Attention: par défaut, le script de Bob utilise à la F13place de Shift Ctrl F13donc DefaultKeyBinding.dictvous devez changer:

"\UF710"

dans:

"^$\UF710"

Si pour une raison quelconque vous avez décidé d'opter pour une autre combinaison, consultez cet article de Xah Lee pour découvrir la syntaxe appropriée.

sam hocevar
la source
Le contenu du lien semble être une excellente solution à ce problème, mais les réponses à Ask Different doivent être plus qu'un simple lien. Il est correct d'inclure un lien, mais veuillez le résumer ou l'extraire dans la réponse. L'idée est de rendre la réponse autonome.
Daniel
@DanielLawson bien sûr, cela a du sens; Je mettrai à jour ma réponse.
sam hocevar
Là, j'ai copié la plupart de l'article. Je peux le faire, puisque je le possède :-)
sam hocevar
Réponse vraiment géniale; +50 internets. (Sérieusement, je donne à celui-ci une prime dès que le système me le permet)
Daniel
Heureux que vous ayez inséré le lien, car il est maintenant mort! (Vous pouvez le mettre à jour s'il est déplacé.)
wchargin
13

Une fonction "touches mortes" similaire à ce que vous voulez existe déjà par défaut. Pour obtenir la lettre é, appuyez sur Option ⌥+ e, puis e.

Après avoir appuyé sur + e, vous verrez un ´caractère en surbrillance (il est jaune sur mon ordinateur). Appuyez sur n'importe quelle lettre qui prendra cette marque d'accentuation (cela variera en fonction de la langue de votre clavier, pour EN-US c'est é, ú, í, ó et á) et vous obtiendrez la version accentuée de la lettre. Il existe d'autres accents possibles: + `donne un accent agrave (`` `), + edonne un accent aigu (´), + udonne un tréma / tréma (¨), + idonne un accent circonflexe (ˆ), et + ndonne un tilde (˜). Les dispositions de clavier non américaines (en particulier le gallois) ont plus d'accents et autorisent plus de lettres pour les mêmes accents. La visionneuse de clavier est utile pour vous aider à déterminer quelles combinaisons sont actuellement prises en charge sur votre mise en page.

Si vous êtes sur Lion, comme @djacobson l'a mentionné, vous pouvez maintenir certaines lettres enfoncées pour voir une variété d'options accentuées pour cette lettre.

Cajunluke
la source
si vous utilisez une disposition de clavier différente, il se peut que ce ne soit pas le cas ⌥+e. Pour voir de quel modèle il s'agit, ouvrez le visualiseur de clavier (à partir de l'icône de la barre d'état linguistique) et appuyez sur . Les touches indiquées en jaune indiquent des caractères de composition
Ciprian Tomoiagă
2

Composez la touche sur la disposition du clavier dédié

J'ai écrit US custom , une disposition de clavier qui implémente la touche de composition.

Sur Mac OS X, il existe deux façons d'implémenter la touche de composition: soit avec peut être implémenté soit avec le système de texte Cocoa (comme déjà décrit dans la réponse la plus utile de Sam Hocevar) ou avec une disposition de clavier dédiée. Les deux méthodes ont leurs avantages et leurs inconvénients:

  • Une implémentation de touche de composition avec le système de texte Cocoa fonctionnera indépendamment de la disposition de clavier choisie. Les paramètres du système de texte Cocoa dans le DefaultKeyBinding.dictfichier sont, par comparaison, facilement modifiables.
  • Une implémentation de touche de composition avec une disposition de clavier fonctionnera sur tout le système d'exploitation dans n'importe quelle application, pas seulement dans les applications Cocoa. Il peut être activé et désactivé avec l'interface utilisateur en sélectionnant une autre disposition de clavier. Il y a un retour visuel lors de la frappe de la combinaison de composition (ce qui modifie légèrement le comportement).

L'installation de la disposition du clavier est facile:

  1. Téléchargez et ouvrez uscustom.2012-08-28.zip .
  2. Déplacez les fichiers UScustom.keylayoutet UScustom.icnsvers:
    • /Library/Keyboard Layouts/ (pour tous les utilisateurs)
    • ~/Library/Keyboard Layouts/ (juste pour vous, aucun privilège administrateur requis)
  3. Activez la disposition du clavier personnalisé américain dans l' onglet Sources d'entrée du volet Préférences de langue et de texte , afin que vous puissiez ensuite le sélectionner dans l'élément de barre de menu des sources d'entrée - son icône affiche un drapeau américain avec un petit C pour «personnalisé» ou pour « composer »: Icône personnalisée américaine.

La touche de composition de la disposition de clavier personnalisée américaine est mappée sur deux touches différentes:

  • Il y a une touche de composition à ISO §(c'est la touche de surplus d'un clavier ISO; les claviers ISO sont ceux où la touche de retour a la forme d'une lettre majuscule tournée L).
  • Il y a une autre touche de composition à Shift+ Control+ F13. Il s'agit du même mappage que celui choisi par Sam Hocevar, donc si vous souhaitez remapper la touche de composition à votre touche d'option droite, vous pouvez alors suivre exactement les explications détaillées décrites dans sa réponse.

Attribution de composition à capslock

Si vous souhaitez affecter la composition à la touche de verrouillage (comme dans la question d'origine), vous avez besoin du PCKeyboardHack de Takayama Fumihiko en plus de KeyRemap4MacBook:

  1. Installez PCKeyboardHack.
  2. Ouvrez le volet de préférences PCKeyboardHack.
  3. Cochez la case Modifier le verrouillage des majuscules.
  4. Double-cliquez sur le code d' accès de Change Caps Lock et entrez 10(ISO §).

Cela fonctionne avec la commande US disposition du clavier touche Compose. Afin d'assigner la touche de composition du système de texte Cocoa (comme décrit avec soin par Sam Hocevar) à capslock, vous avez besoin d'une autre étape:

Avec KeyRemap4MacBook, remappez l'ISO §en Shift+ Control+ F13(ou où que soit votre clé de composition). Pour ce faire, suivez les étapes soigneusement expliquées par Sam Hocevar, mais en changeant le code qui doit être placé ~/Library/Application Support/KeyRemap4MacBook/private.xmlici:

<?xml version="1.0"?>
<root>
<item>
  <name>Send Shift-Ctrl-F13 for ISO Section</name>
  <identifier>private.send_shift_ctrl_f13_for_iso_section</identifier>
  <autogen>
    --KeyToKey--
    KeyCode::UK_SECTION, ModifierFlag::NONE,
    KeyCode::F13, ModifierFlag::SHIFT_L | ModifierFlag::CONTROL_L
  </autogen>
</item>
</root>
mach
la source
0

Si vous souhaitez remapper l'une de vos clés, jetez un œil à KeyRemap4MacBook , qui est référencé dans ce message SU . Les notes de documentationCaps Lock pouvant être remappées et les mappages personnalisés sont également pris en charge .

JW8
la source
0

Quel est le problème avec la méthode par défaut de saisie de caractères accentués (à partir de 10,7 Lion)

Maintenez simplement la lettre enfoncée et une liste d'alternatives s'affichera.

Alexander - Rétablir Monica
la source
4
Cette méthode d'entrée considérablement ralentit la vitesse de frappe. Aussi: apple.stackexchange.com/questions/31487/add-compose-key-to-os-x/…
MikeyB