Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 08/03/2010, à 20:45

hr

Commutation du clavier presque idéale entre un mac et un pc

J'ai ouvert ce fil parce qu'en dehors du fait que la configuration que je propose ici puisse être utile à quelqu'un, j'ai quelques derniers problèmes qui ne doivent pas être insurmontables mais sur lesquels je sèche.

Sur le même bureau, j'ai un iMac en OS 10.5 et un PC Ubuntu 10.04 que j'utilise alternativement en changeant de machine un bon nombre de fois par jour. Il est clair que, dans ces conditions, les différences de comportement des deux claviers finissent par être un peu énervantes, particulièrement en ce qui concerne les touches Contrôle, Commande et Alt. En outre, avoir deux claviers et deux souris sur un bureau, c'est terriblement encombrant.

Comme le clavier alu de mon mac est incomparablement meilleur que le clavier que j'avais sur le PC, j'ai choisi de supprimer le clavier de PC et d'utiliser le clavier alu sur les deux machines.

Un autre avantage de commuter le clavier mac est qu'il comporte des prises USB ce qui fait que la souris suit le mouvement. Une rallonge sur chaque machine me permet donc de basculer la souris et le clavier simultanément. Reste à trouver un commutateur USB et ce sera encore plus simple (un kvm sans v en quelque sorte). J'en ai retrouvé un vieux au fond d'un tiroir mais il n'est compatible qu'USB 1, or le clavier alu est USB 2. Petit inconfort mineur pour l'instant.

La configuration pour mac disponible par défaut dans Ubuntu n'est pas mal du tout mais les touches contrôle et alt sont semblables à celles d'un clavier de PC et je m'embrouillais inévitablement les pinceaux en basculant. Après des essais innombrables, j'ai trouvé une configuration presque transparente lorsque je passe d'une machine à l'autre. Je ne touche rien du côté mac où j'aurais pu intervertir les touches dans les préférences système mais je suis malgré tout bien plus habitué à pomme C qu'à contrôle C.

Donc tout se passe côté PC. La configuration se compose d'une variante de la table des symboles fr pour mac, d'options de l'agencement du clavier et de quelques raccourcis clavier particuliers. La table des symboles se modofie dans un fichier, le reste est modifiable en interface graphique.

Le but est avant tout, pour les touches modificatrices, d'obtenir que :
- les touches Commande (alias pomme) soient traitées comme des touches Ctrl d'Ubuntu
- les deux touches Alt soient identiques et traitées comme la touche Alt droite d'Ubuntu
- les touches Ctrl soient traitées comme des touches Alt gauches d'Ubuntu
On a alors quelque chose de très approchant de ce qu'on utilise dans mac OS et les combinaisons de touches les plus courantes sont identiques, ce qu'on peut compléter par une modification des raccourcis clavier dans Ubuntu, par exemple commande+W pour fermer une fenêtre.

Je vous indique ce que j'ai fait, certains choix étant conformes à l'original, d'autres l'étant moins mais correspondent à des agencements que je trouve très pratiques, que j'ai modifié depuis longtemps sur le mac et dont je n'ai eu aucune envie de me passer dans Ubuntu. À chacun ensuite de modifier ces détails selon ses habitudes ou ses besoins.

Par exemple j'ai inversé les signes € et $ parce que je fais ma compta et mes factures en €, pas en $. Je préfère donc avoir directement € d'un appui simple sur la touche et tant pis pour la sérigraphie. Quelqu'un qui tape du PHP toute la journée ne fera certainement pas cette inversion, c'est clair !
Idem pour la fausse apostrophe (sous le 4) qui, pour quelqu'un qui tape du texte et pas du code, est avantageusement remplacée par la vraie (comme vous le voyez dans ce message).

Ensuite j'ai modifié l'accès à certaines majuscules accentuées qui, dans une configuration classique, obligent à faire une manœuvre compliquée en enclenchant puis déclenchant la touche majuscule verrouillée.

----------------------------------------

Résumé de l'essentiel de cette variante :

- Alt gauche et droit identiques et agissent comme Alt-gr d'Ubuntu
- Commande agit comme Ctrl d'Ubuntu
- Ctrl agit comme Alt d'Ubuntu
- Alt éèçàù donne ÉÈÇÀÙ
- € et $ sont inversés par rapport à la sérigraphie
- L'apostrophe sous le 4 est la vraie apostrophe ' et la fausse ' (minute d'angle) s'obtient avec Alt
- au pavé numérique la virgule est une virgule et le point s'obtient avec Shift
- Shift + un chiffre du pavé numérique reste un chiffre
- la touche d'activation du pavé numérique étant inutile dans cette configuration, elle est transformée en touche utilisable pour un raccourci clavier
- Alt accent grave donne un accent aigu en touche morte
- Shift Alt espace donne une espace fine
- Alt < et Alt > donnent « et » qui sont acrobatiques à obtenir d'habitude.

---------------------------------------

Comment faire :

Dans les propriétés du clavier de gnome :
- agencement : France Apple-Macintosh
- modèle du clavier : Apple-Macintosh
- options :
- - Comportement des touches Alt/Logo  : La touche Ctrl est obtenue avec la touche Logo (et les touches Ctrl habituelles)
- - Touche sélectionnant le 3e niveau  : Alt de droite, Maj.+Alt de droite est une touche multiple
et cocher aussi : N'importe quelle touche Alt

Pour le clavier de Mac, la table est :
/usr/share/X11/xkb/symbols/macintosh_vndr/fr

On renomme l'original de ce fichier, on en crée une version adaptée dans un dossier accessible depuis tout le système et pour lequel on a des droits d'écriture. Une fois le fichier créé (par copie de l'original par exemple), on en crée un lien qu'on met à la place de l'original et qu'on renomme ensuite fr

La variante que j'ai faite touche la première partie du fichier (entre la première paire d'accolades).

default 
xkb_symbols "extended" { 
    name[Group1]= "France - Mac"; 

    key <ESC>    {[ Escape    ]}; 
    // inversion de @# et <> sur le clavier alu, pas d'inversion sur l'ancien clavier mac
    key <LSGT> {[    at,        numbersign,        0x1002022,        periodcentered        ]}; 
    key <TLDE> {[    less,        greater,        guillemotleft,    guillemotright        ]}; 

    key <ENTR> {[    KP_Enter    ]}; 
    key <AE01> {[    ampersand,            1,    VoidSymbol,        dead_acute            ]}; 
    key <AE02> {[    eacute,            2,    Eacute,        Eacute            ]}; 
    key <AE03> {[    quotedbl,            3,    leftdoublequotemark,    rightdoublequotemark    ]}; 
    key <AE04> {[    rightsinglequotemark,    4,    apostrophe,        leftsinglequotemark    ]}; 
    key <AE05> {[    parenleft,            5,    braceleft,        bracketleft        ]}; 
    key <AE06> {[    section,            6,    paragraph,        aring            ]}; 
    key <AE07> {[    egrave,            7,    Egrave                        ]}; 
    key <AE08> {[    exclam,            8,    exclamdown,        Ucircumflex        ]}; 
    key <AE09> {[    ccedilla,            9,    Ccedilla,        Aacute            ]}; 
    key <AE10> {[    agrave,            0,    Agrave                        ]}; 
    key <AE11> {[    parenright,            degree, braceright,    bracketright        ]}; 
    key <AE12> {[    minus,            underscore, emdash,    endash            ]}; 

    key    <TAB> {[    Tab,                ISO_Left_Tab    ]}; 
    key <AD01> {[    a,                A,                ae,    AE    ]}; 
    key <AD02> {[    z,                Z,        Acircumflex,        Aring        ]}; 
    key <AD03> {[    e,                E,        ecircumflex,        Ecircumflex    ]}; 
    key <AD04> {[    r,                R,        registered,            currency    ]}; 
    key <AD05> {[    t,                T,        dagger,            trademark    ]}; 
    key <AD06> {[    y,                Y,        Uacute,            Ydiaeresis    ]}; 
    key <AD07> {[    u,                U,        masculine,            ordfeminine    ]}; 
    key <AD08> {[    i,                I,        icircumflex,        idiaeresis    ]}; 
    key <AD09> {[    o,                O,        oe,                OE        ]}; 
    key <AD10> {[    p,                P,        Greek_pi,            Greek_PI    ]}; 
    key <AD11> {[    dead_circumflex,        dead_diaeresis,    ocircumflex,     Ocircumflex    ]}; 
    key <AD12> {[    EuroSign,            asterisk,    dollar,            yen        ]}; 
    key <CAPS> {[    Caps_Lock    ]}; 
    key <AC01> {[    q,                Q,        doubledagger,        Greek_OMEGA    ]}; 
    key <AC02> {[    s,                S,        Ograve,            Greek_SIGMA    ]}; 
    key <AC03> {[    d,                D,        Greek_delta,        Greek_DELTA    ]}; 
    key <AC04> {[    f,                F,        VoidSymbol,            periodcentered]}; 
    key <AC05> {[    g,                G,        VoidSymbol,            VoidSymbol    ]}; 
    key <AC06> {[    h,                H,        Igrave,            Icircumflex    ]}; 
    key <AC07> {[    j,                J,        Idiaeresis,            Iacute        ]}; 
    key <AC08> {[    k,                K,        Egrave,            Ediaeresis    ]}; 
    key <AC09> {[    l,                L,        notsign,            bar        ]}; 
    key <AC10> {[    m,                M,        mu,                Oacute        ]}; 
    key <AC11> {[    ugrave,            percent,    Ugrave,            0x1002030    ]}; 
    key <BKSL> {[    dead_grave,            sterling,    dead_acute,            numbersign    ]}; 
    key <RTRN> {[    Return    ]}; 

    key <AB01> {[    w,                W,        guilsinglleft,        guilsinglright]}; 
    key <AB02> {[    x,                X,        x,                X        ]}; 
    key <AB03> {[    c,                C,        copyright,            cent        ]}; 
    key <AB04> {[    v,                V,        diamond,            radical    ]}; 
    key <AB05> {[    b,                B,        ssharp,              U03B2    ]}; 
    key <AB06> {[    n,                N,        dead_tilde,        asciitilde    ]}; 
    key <AB07> {[    comma,            question,    infinity,            questiondown    ]}; 
    key <AB08> {[    semicolon,            period,    ellipsis,            periodcentered]}; 
    key <AB09> {[    colon,            slash,    division,            backslash    ]}; 
    key <AB10> {[    equal,            plus,        notequal,            plusminus    ]}; 

// alt espace = insécable et alt + shift = fine 
    key <SPCE> {[    space,            space,    nobreakspace,        thinspace    ]}; 

// pavé numérique similaire à celui du mac
    key <KPDL>  {[    comma, period    ]}; 
    key <KP0>   {[    0,    0    ]}; 
    key <KP1>   {[    1,    1    ]}; 
    key <KP2>   {[    2,    2    ]}; 
    key <KP3>   {[    3,    3    ]}; 
    key <KP4>   {[    4,    4    ]}; 
    key <KP5>   {[    5,    5    ]}; 
    key <KP6>   {[    6,    6    ]}; 
    key <KP7>   {[    7,    7    ]}; 
    key <KP8>   {[    8,    8    ]}; 
    key <KP9>   {[    9,    9    ]}; 


// prise en compte des touches de fonction supplémentaires 
    key <FK13>    {[    F13    ]}; 
    key <FK14>    {[    F14    ]}; 
    key <FK15>    {[    F15    ]}; 
    key <FK16>    {[    F16    ]}; 
    key <FK17>    {[    F17    ]}; 
    key <FK18>    {[    F18    ]}; 
    key <FK19>    {[    F19    ]}; 

// NMLK ne sert pas et devient une touche utilisable pour un raccourci 
    replace key <NMLK>    {[    XF86Clear    ]}; 

// les deux touches contrôle prennent la fonction de la touche Alt gauche 
    key <RCTL>  {[    Alt_L    ]}; 
    key <LCTL>  {[    Alt_L    ]}; 

// ajouter les caractères altgr + shift 
    include "level3(ralt_switch)" 

};

Dans les raccourcis clavier :

- les touches audio sont trivialement attribuées aux fonctions qui leur correspondent.
- pour expo key, on peut attribuer F3 ou, comme je l'ai fait en jouant sur la configuration de compiz, exposé sur F4 avec « activer l'échelle » avec F3 ce qui correspond assez bien à la sérigraphie.
- Fermé la fenêtre associé à Ctrl W
- Désactiver la fonction Éjection et créer un raccourci Ouvrir/Fermer le tiroir associée à la touche d'éjection et dont la commande associée est :
eject -T /dev/scd0
ce qui actionne en bascule le tiroir du lecteur de DVD.

Dernière modification par hr (Le 31/12/2010, à 13:08)


Un PC de bureau de  2018, deux PC de bureau anciens (2006 et 2008) et un petit portable Asus E200HA (cpu cherry trail). Tout ce petit monde en Ubuntu 20.04 avec le bureau Unity.

Hors ligne

#2 Le 13/06/2010, à 21:57

hr

Re : Commutation du clavier presque idéale entre un mac et un pc

Pour rendre le comportement de ce clavier identique pour tous les comptes utilisateurs il faut aller dans les préférences d’agencement du clavier (gnome-keyboard-properties) pour « appliquer à l’ensemble du système ».

Je me suis rendu compte après coup que j’avais un petit problème dans tout ce qui se passe avant gnome puisque la console était toujours en clavier de PC. Le plus simple est de taper dans un terminal :
sudo dpkg-reconfigure console-setup
qui reprend la partie de l’installation du système qui gère la configuration du clavier de manière claire et facile puisqu’en mode semi-graphique.

Dernière modification par hr (Le 16/06/2010, à 15:17)


Un PC de bureau de  2018, deux PC de bureau anciens (2006 et 2008) et un petit portable Asus E200HA (cpu cherry trail). Tout ce petit monde en Ubuntu 20.04 avec le bureau Unity.

Hors ligne

#3 Le 14/08/2010, à 09:15

Douigi

Re : Commutation du clavier presque idéale entre un mac et un pc

Bravo pour ce tuto, et merci !

Je cherchais justement à le faire, j'ai la même config que toi, et je ne trouvais pas !

Encore merci smile


MacBook 2.1 : Dual Boot : Mac OS X Snow Leopard / Ubuntu Lucid Lynx

Hors ligne

#4 Le 14/08/2010, à 11:05

hr

Re : Commutation du clavier presque idéale entre un mac et un pc

Heureux de savoir que ça a pu être utile à quelqu’un. smile
Il reste quelques points un peu embêtants du côté des touches de fonctions F13 à F15 qui ne sont pas très clairement reconnues mais rien de grave.

Du point de vue matériel j’aimerais trouver un commutateur USB qui convienne au clavier alu mais tous ceux que j’ai trouvés sont en USB 1 alors que le clavier alu est en USB 2 à cause des prises sur le côté.

Ce n’est pas idéal de devoir débrancher et rebrancher manuellement dix fois par jour… Heureusement on peut connecter la souris sur le clavier ce qui fait qu’on n’a qu’une prise à changer mais…

Si tu connais une solution pratique, ça m’intéresse !

Dernière modification par hr (Le 14/08/2010, à 11:08)


Un PC de bureau de  2018, deux PC de bureau anciens (2006 et 2008) et un petit portable Asus E200HA (cpu cherry trail). Tout ce petit monde en Ubuntu 20.04 avec le bureau Unity.

Hors ligne

#5 Le 31/12/2010, à 13:04

hr

Re : Commutation du clavier presque idéale entre un mac et un pc

Clavier mac sur xubuntu :

Mon vieil iBook de 1999 ne pouvant plus évoluer en mac os, j'ai installé xubuntu version power pc qui fonctionne bien. J'avais essayé en ubuntu mais c'était affreusement lent.

Par contre je n'ai pas pu configurer facilement le clavier comme j'ai pu le faire sur mon pc en ubuntu pour ce qui est de l'inversion des touches commande et contrôle.
Dans les paramètres du clavier de Xfce, il manque les options qui sont disponibles sur gnome et qui permettent cette inversion (voir le premier message du fil). J'ai donc opté pour une solution lourde, tout au moins plus lourde que je ne le pensais, consistant à installer gnome-control-center avec synaptic. Quelques charretées de choses ont été installées en plus mais tant pis, au moins le réglage du clavier a pu être terminé avec les options qui le rendent compatible avec un clavier mac.

Dans toute cette affaire de claviers mac, le seul problème qui me reste à résoudre est la configuration des touches F13 à F15 qui n'est toujours pas correcte sur le clavier alu.


Un PC de bureau de  2018, deux PC de bureau anciens (2006 et 2008) et un petit portable Asus E200HA (cpu cherry trail). Tout ce petit monde en Ubuntu 20.04 avec le bureau Unity.

Hors ligne

#6 Le 14/03/2011, à 11:50

hr

Re : Commutation du clavier presque idéale entre un mac et un pc

Sabre de bois ! Depuis la mise à jour du serveur X de ce mois, plus moyen d'avoir un fonctionnement correct de mon clavier, xkb se plante systématiquement.
J'ai dû d'abord passer aux fichiers fournis d'origine pour avoir un comportement utilisable mais impossible d'avoir une configuration correcte compatible à celle du mac. J'ai finalement dû me résigner à avoir deux claviers sur le bureau, celui du Mac et un standard pour PC et à me réhabituer à avoir deux dispositions différentes !
Évidemment, le problème est apparu sur mes deux machines en 10.10 en même temps lors de la mise à jour, histoire de bien faire braire !
J'ai juste mon iBook en Xubuntu 10.04 qui lui n'a aucun problème avec son clavier. Je ne vais tout de même pas repasser en 10.04 sur les deux PC pour ça. sad


Un PC de bureau de  2018, deux PC de bureau anciens (2006 et 2008) et un petit portable Asus E200HA (cpu cherry trail). Tout ce petit monde en Ubuntu 20.04 avec le bureau Unity.

Hors ligne

#7 Le 10/10/2011, à 14:34

fraide

Re : Commutation du clavier presque idéale entre un mac et un pc

Bonjour. Merci pour ce tuto. J'ai appliqué à la lettre ta configuration et je dois dire que c'est plutôt agréable, car je suis un makeux, à la base, et que lorsqu'on est habitué au clavier alu de chez apple, les claviers pc avec leurs grosses touches et leur configuration sont peu pratiques... En revanche, mes touches audio, hormis les touches volumes, ne fonctionnent pas. la touche éject non plus. As-tu fais des modifications depuis ? Je suis sous oneiric (11.10).
Un détail, mais important car je suis sous gnome-shell, je n'ai pas validé comme tu le préconises la fonction sur toutes les touches alt, car j'ai besoin de la touche alt de gauche pour passer de mettre en veille à éteindre dans le menu utilisateur.
Merci encore de ces recherches et de ce tuto. big_smile

Dernière modification par fraide (Le 10/10/2011, à 14:37)

Hors ligne

#8 Le 10/10/2011, à 15:27

hr

Re : Commutation du clavier presque idéale entre un mac et un pc

Les touches audio, je les ai programmées classiquement par les raccourcis clavier.
Pour la touche d’éjection, j’ai créé « une touche personnalisée » qui lance la commande :

eject -T /dev/scd0

qui bascule l’ouverture / fermeture du tiroir du lecteur de DVD. Le T est majuscule : avec t minuscule la commande ferme seulement et sans paramètre elle ouvre seulement.

Pour la touche alt, oui c’est clair, tout dépend des raccourcis qu’on utilise. J’ai d’ailleurs modifié aussi ce comportement pour avoir la touche Alt gauche à la PC en raison de raccourcis utiles dans Unity.

J’ai un peu plus de difficulté depuis que je suis en 11.10, j’ai parfois temporairement un retour à la configuration par défaut et non pas celle du fichier fr… Mystère ! Mais en général ça marche.

Dernière modification par hr (Le 10/10/2011, à 15:31)


Un PC de bureau de  2018, deux PC de bureau anciens (2006 et 2008) et un petit portable Asus E200HA (cpu cherry trail). Tout ce petit monde en Ubuntu 20.04 avec le bureau Unity.

Hors ligne

#9 Le 13/10/2011, à 11:30

fraide

Re : Commutation du clavier presque idéale entre un mac et un pc

Même souci que toi. J'ai à nouveau l'inversion du @ et du <... C'est pénible. Je ne sais pas quoi faire pour que la config modifier par gedit en sudo soit prise en compte à chaque redémarrage.

Hors ligne

#10 Le 13/10/2011, à 11:35

fraide

Re : Commutation du clavier presque idéale entre un mac et un pc

Je me réponds... Il faut donc encore rajouter un bash au démarrage pour inverser ces deux touches. Pas grave, mais bon...

Hors ligne

#11 Le 13/10/2011, à 11:56

hr

Re : Commutation du clavier presque idéale entre un mac et un pc

Si tu changes provisoirement de clavier pour reprendre celui que tu as modifié, ça ne marche pas ?
J’y arrive normalement comme ça. C’est sans doute un problème de cache qu’il faut trouver le moyen de rafraîchir.
Dans un autre compte, la modification n’est pas prise en compte non plus ?
J’avais ça sur l’iBook pendant un certain temps et puis un jour c’est devenu bon… Je ne sais même plus si j’ai fait quelque chose pour ça !

À propos, tu mets quelle commande dans ton script ? Ça m’intéresserait de savoir comment agir sur le clavier de cette façon-là.


Un PC de bureau de  2018, deux PC de bureau anciens (2006 et 2008) et un petit portable Asus E200HA (cpu cherry trail). Tout ce petit monde en Ubuntu 20.04 avec le bureau Unity.

Hors ligne

#12 Le 13/10/2011, à 12:03

fraide

Re : Commutation du clavier presque idéale entre un mac et un pc

xmodmap -e 'keycode 94=at numbersign' -e 'keycode 49=less greater less greater less greater'

Je crée une commande au démarrage, tout bêtement, que j'appelle clavier, et je colle cette ligne dedans.
Je n'ai qu'un compte utilisateur, donc pas de vérif possible. En même temps, les autres commandes fonctionnent. Le "ctrl" sur la pomme, par exemple. Bizarre.

Dernière modification par fraide (Le 13/10/2011, à 12:04)

Hors ligne

#13 Le 13/10/2011, à 14:17

hr

Re : Commutation du clavier presque idéale entre un mac et un pc

Ah, xmodmap, voilà qui est intéressant. J’ai un fichier .xmodmap dans mon compte pour inverser le sens de défilement de la molette (depuis 10 ans j’inverse ce sens sur mes macs et apple n’a découvert que c’était le sens qu’eux-mêmes appellent « naturel » qu’avec OS 10.7 !). Il se lance automatiquement à chaque ouverture de session.
Je me demande si, plutôt que de passer par un script, tu ne pourrais pas ajouter ta commande dans ce fichier.
-------------------
Je corrige c’est .Xmodmap avec une majuscule.

Dernière modification par hr (Le 13/10/2011, à 14:45)


Un PC de bureau de  2018, deux PC de bureau anciens (2006 et 2008) et un petit portable Asus E200HA (cpu cherry trail). Tout ce petit monde en Ubuntu 20.04 avec le bureau Unity.

Hors ligne