Problème d'accès au caractères sur Macbook Pro

Bonjour, j’ai un problème avec la touche Compose et le clavier de mon Macbook Pro. Je n’ai pas le problème avec un clavier externe car je peux taper la touche Pause que j’ai assigné à cette touche. Par contre, la touche Pause n’existe pas sur le clavier interne du portatif et je ne peux donc pas la taper quand je n’ai pas accès à mon clavier externe.

Il y a différentes options dans Gnome Tweak > Saise > Position de la touche Compose mais aucune ne fait car soit la touche n’existe pas sur mon clavier ou soit elle est déjà employée dans ma configuration clavier. Ce n’est donc pas une option.

Autre avenue, modifier mon fichier .xmodmap mais cela ne fait pas l’affaire car j’emploie différentes dispositions clavier et je perdrais ma disposition modifiée en passant de l’une à l’autre.

Autre option, employer xdotools. En ligne de commande, je peux taper xdotool key Multi_key et cela simule très bien la touche Compose et tout se comporte comme si je l’avais tapée directement. Je me suis dit que je pourrais alors faire un raccourcis dans xbindkeys-config pour assigner un raccourcis clavier de mon choix pour la touche Compose à l’aide de la commande xdotools mais rien n’y fait. Ce truc ne veut pas fonctionner. J’ai essayé à la place de faire la même chose en créant un raccourcis clavier dans la section clavier des paramètres de Gnome mais ça ne fonctionne pas davantage.

J’ai pensé aussi employer l’application Caractères de Gnome mais ce n’est pas aussi pratique et plutôt fastidieux.

Quelqu’un aurait une autre idée?

J’ai résolu mon problème en assignant le symbole Multi_key avec xmodmap. Je ne perds ma configuration en changeant de disposition comme je le pensais. En fait, oui, je perds cette configuration pour la touche de composition sur le clavier canadien multilingue mais elle revient quand je choisis à nouveau cette disposition.

Donc, ma configuration est la «à la Mac» pour un clavier Mac Canadien CSA de Macbook. C’est une configuration très utile pour un utilisateur Mac et qui emploierait aussi un clavier étendu PC externe qui n’aurait pas la touche le “ù” et qui devrait passer souvent de l’un à l’autre.

Je partais cette configuration car ça pourrait être utile pour d’autres. À adapter selon vos besoins.

Description de la configuration clavier

  • Les touches command agissent comme Ctrl gauche
  • Les touches option agissent comme Alt gauche
  • Control gauche = Windows gauche
  • Control droit est inchangé (accès aux caractères spéciaux)
  • Caps lock devient un second Ctrl droit (il n’y pas de contrôle droit sur le clavier interne)
  • Les touches ù et / sont remises à leur place sur le clavier interne (autrement Debian les inverse)
  • Pause = compose
  • Caps lock ù = compose
  • Numlock est désactivée pour toujours donner accès aux chiffres (autrement, c’est une touche nuisible :wink:)
  • Le slash peut aussi être obtenu par Ctrl droit-é ou Caps lock-é (comme macOS le permet avec la touche option)

La configuration prend en compte le fait que command et option sont inversées sur les claviers PC par rapport au clavier Mac.

Le matériel:

  • Une configuration de saisie dans Gnome Tweak
  • Un script SetKeyboard-PC
  • Un script SetKeyboard-Mac

Configuration Gnome Tweak par section (section saisie)

  1. Diverses options de compatiblité:
    Les touches du pavé numérique sont toujours numériques (comme sur Mac OS)

  2. Touche sélectionnant le niveau3
    Ctrl droite
    Verr. maj.

  3. Passage à une autre disposition
    Windows+Escape

  4. Position de la touche Ctrl
    Alt. gauche pour Ctrl, Ctrl pour Win, Win gauche pour Alt.

  5. Position de la touche Compose
    Pause

  6. Comportement des touches Alt et Windows
    Ctrl est placé sur les touches Alt, Alt sur les touches Windows

Le script à faire roule quand vous revenez au clavier externe

#!/bin/bash

xmodmap -e "remove mod1 = Alt_L"
xmodmap -e "remove mod1 = Alt_R"
xmodmap -e "remove control = Control_L"
xmodmap -e "remove control = Control_R"

xmodmap -e "keycode 64 = Control_L"
xmodmap -e "keycode 108 = Control_R"
xmodmap -e "keycode 133 = Alt_L"
xmodmap -e "keycode 134 = Alt_R"

xmodmap -e "add control = Control_L"
xmodmap -e "add control = Control_R"
xmodmap -e "add mod1 = Alt_L"
xmodmap -e "add mod1 = Alt_R"

xmodmap -e "keycode 94 = ugrave"
xmodmap -e "keycode 49 = slash"
xmodmap -e "keycode 49 = slash backslash slash backslash bar NoSymbol NoSymbol hyphen NoSymbol"
xmodmap -e "keycode 94 = ugrave Ugrave ugrave Ugrave degree brokenbar NoSymbol brokenbar NoSymbol"

Le script pour passer au clavier interne du Mac (canadien multilingue)

#!/bin/bash

xmodmap -e "remove mod1 = Alt_L"
xmodmap -e "remove mod1 = Alt_R"
xmodmap -e "remove control = Control_L"
xmodmap -e "remove control = Control_R"

xmodmap -e "keycode 133 = Control_L"
xmodmap -e "keycode 134 = Control_R"
xmodmap -e "keycode 64 = Alt_L"
xmodmap -e "keycode 108 = Alt_R"

xmodmap -e "add control = Control_L"
xmodmap -e "add control = Control_R"
xmodmap -e "add mod1 = Alt_L"
xmodmap -e "add mod1 = Alt_R"

xmodmap -e "keycode 49 = ugrave"
xmodmap -e "keycode 94 = slash"
xmodmap -e "keycode 94 = slash backslash slash backslash bar NoSymbol NoSymbol hyphen NoSymbol"
xmodmap -e "keycode 49 = ugrave Ugrave ugrave Ugrave Multi_key brokenbar NoSymbol brokenbar NoSymbol"
xmodmap -e "keycode 61 = eacute Eacute eacute Eacute slash NoSymbol NoSymbol dead_abovedot NoSymbol"

Donc, faites rouler le script approprié quand vous changez de clavier.

1 J'aime