mapping clavier

Zeusviper

Membre actif
3 Novembre 2004
436
30
43
Paris
Bonjour à tous!
Quelqu'un saurait où on peut accéder au fichier de mapping clavier?
L'idée serait de redéfinir certaines touches, en l'occurence la touche eject pour la faire agir sur un lecteur externe et non l'interne.
je parle bien de la redéfinir, pas un script, ni un menu, ni un alt+eject!(oui j'ai cherché avant de demander! ) ;-)


merci d'avance,
++
 
Je suppose qu'il s'agit de la configuration du clavier pour X11 ?
Le programme pour redéfinir le clavier s'appelle "xmodmap" (c'est du classique ...)
Je suppose que par défaut, le serveur X11 de Apple est configuré de telle sorte que le mapping du clavier de Quartz sert à l'initialisation de X11.
Mais la lecture du fichier d'initialisation de X11 par défaut (/etc/X11/xinit/xinitrc) est instructive :
Bloc de code:
#!/bin/sh
# $Id: xinitrc,v 1.3 2004/06/11 04:37:23 jharper Exp $

userresources=$HOME/.Xresources
[B]usermodmap=$HOME/.Xmodmap[/B]
sysresources=/etc/X11/xinit/.Xresources
[B]sysmodmap=/etc/X11/xinit/.Xmodmap[/B]

# merge in defaults and keymaps

if [ -f "$sysresources" ]; then
    xrdb -merge "$sysresources"
fi

[B]if [ -f "$sysmodmap" ]; then
    xmodmap "$sysmodmap"
fi
[/B]
if [ -f "$userresources" ]; then
    xrdb -merge "$userresources"
fi

[B]if [ -f "$usermodmap" ]; then
    xmodmap "$usermodmap"
fi
[/B]
# start some nice programs

xterm &

# start the window manager

exec quartz-wm
(j'ai mis en gras ce qui concerne la définition du clavier).
On peut donc redéfinir le mapping du clavier en général (system-wide) ou pour l'utilisateur seulement.
Et pour cela il suffit de reprendre les commandes classiques (et un peu absconses parfois) de xmodmap.
Pour connaître la configuration courante, il suffit d'utiliser xmodmap dans un terminal avec l'option idoine (voir le manuel).
Les commandes suivantes sont intéressantes :
Bloc de code:
xmodmap -pm
pour connaître les modifiers (alt, ctrl etc.),
Bloc de code:
xmodmap -pke
te donnera la configuration de xmodmap écrite de sorte que cela puisse être utilisé dans un fichier de configuration de xmodmap.
 
  • J’aime
Réactions: belzebuth
bompi a dit:
Je suppose qu'il s'agit de la configuration du clavier pour X11 ?
Le programme pour redéfinir le clavier s'appelle "xmodmap" (c'est du classique ...)
Je suppose que par défaut, le serveur X11 de Apple est configuré de telle sorte que le mapping du clavier de Quartz sert à l'initialisation de X11.
Mais la lecture du fichier d'initialisation de X11 par défaut (/etc/X11/xinit/xinitrc) est instructive :
Bloc de code:
#!/bin/sh
# $Id: xinitrc,v 1.3 2004/06/11 04:37:23 jharper Exp $

userresources=$HOME/.Xresources
[B]usermodmap=$HOME/.Xmodmap[/B]
sysresources=/etc/X11/xinit/.Xresources
[B]sysmodmap=/etc/X11/xinit/.Xmodmap[/B]

# merge in defaults and keymaps

if [ -f "$sysresources" ]; then
    xrdb -merge "$sysresources"
fi

[B]if [ -f "$sysmodmap" ]; then
    xmodmap "$sysmodmap"
fi
[/B]
if [ -f "$userresources" ]; then
    xrdb -merge "$userresources"
fi

[B]if [ -f "$usermodmap" ]; then
    xmodmap "$usermodmap"
fi
[/B]
# start some nice programs

xterm &

# start the window manager

exec quartz-wm
(j'ai mis en gras ce qui concerne la définition du clavier).
On peut donc redéfinir le mapping du clavier en général (system-wide) ou pour l'utilisateur seulement.
Et pour cela il suffit de reprendre les commandes classiques (et un peu absconses parfois) de xmodmap.
Pour connaître la configuration courante, il suffit d'utiliser xmodmap dans un terminal avec l'option idoine (voir le manuel).
Les commandes suivantes sont intéressantes :
Bloc de code:
xmodmap -pm
pour connaître les modifiers (alt, ctrl etc.),
Bloc de code:
xmodmap -pke
te donnera la configuration de xmodmap écrite de sorte que cela puisse être utilisé dans un fichier de configuration de xmodmap.


tu est un vrai dictionnaire vivant je suis impressioné va falloir que je potasse fort:D
 
Salut!

Dans l'idée de base ce n'était pas le clavier X11 mais vraiment le clavier tel qu'il est interpété par le finder par ex.
Après de longues recherches, la seule solution que j'ai trouvé et qui est autorisé est en fait de monter un démon qui va intercepter les saisies clavier avant le système et les traiter de la facon dont on veut.
J'avai trouvé les classes de développement pour faire ca mais ca dépasse carrément mes compétences!

Et donc pour ma touche eject, je m'étais rabbatu sur une bete app keybind classique!

++
 
j'ai trouvé une solution très simple : ukelele.

ça te permet de redéfinir des touches du clavier comme tu le veux. j'ai par exemple transformé la touche apostrophe en "dead key", ce qui me permet de taper des accents sur un clavier qwerty sans avoir à interrompre la frappe pour taper des combinaison de touches!

c'est très pratique et gratuit...
 
En même temps, écrire des caractères accentués avec un clavier QWERTY n'est pas si difficile.
 
ben c'est quand même assez ennuyant quand tu tapes à dix doigts car ça te force à lever tes mains du clavier pour taper "alt e e" ou "alt i e", ce qui n'est pas très pratique...

avec mon système c'est beaucoup plus simple vu que j'utilise une touche morte : je ne dois donc pas lever mes mains du clavier, car pas de combinaison à taper!

bref, j'avais peur que le qwerty soit un problème, mais ça ne l'est plus du tout maintenant!
 
J'ai suivi votre conversation au sujet du mapping clavier mais je ne suis pourtant pas capable de le mettre à mon goût sur KDE.

Ce que j'aimerais faire c'est inverser Ctrl et Cmd pour que les applications X11 fonctionnent plus comme sur le Mac.

J'ai vu dans KDE dans le 'Centre de configuration' la section 'Disposition du Clavier'. Il y a une option Mac OS et cela permet de changer les articles de menus des applications de 'Ctrl-X' à 'Cmd-X'. Mais ce n'est que l'apparence qui ne fait que changer et le fonctionnalité n'est pas là (du moins dans mon cas).

Et quelle préférences dois-je choisir dans l'application X11 elle-même?

Est-ce que quelqu'un aurait une recette?
 
en fait tu récupère le code des touches concernées via "xev"

ensuite tu les associe via xmodmap

chez moi par ex j'ai le control associé au keycode 67 et command au 63

je crée un fichier dans mon repertoire home que j'appelle ".Xmodmap"
je mets dedans :
Bloc de code:
keycode  63 = Control_L
keycode  67 = Meta_L

sous X11, je charge ce fichier en faisant "xmodmap .Xmodmap" (qui n'est pas chargé automatiquement au lancement de X11 d'ailleurs, si qqu a une idée du pourquoi?!)

hop a ma touche control est désormais affectée l'évenement Meta_L et à la touche commande l'evenement Control_L

après suffit d'automatiser la commande en la mettant dans ton script d'ouverture de session et c fait!

et voili!
 
Pour que ce soit automatique, il doit falloir le mettre dans "~/.xinitrc", m'est avis.
 
Zeusviper a dit:
je crée un fichier dans mon repertoire home que j'appelle ".Xmodmap"
je mets dedans :
Bloc de code:
keycode  63 = Control_L
keycode  67 = Meta_L
Ok, c'est ce que j'ai fait.

Zeusviper a dit:
sous X11, je charge ce fichier en faisant "xmodmap .Xmodmap" (qui n'est pas chargé automatiquement au lancement de X11 d'ailleurs, si qqu a une idée du pourquoi?!)
Ok, j'ai ajouté cette commande à .xinitrc dans mon ~.

Zeusviper a dit:
hop a ma touche control est désormais affectée l'évenement Meta_L et à la touche commande l'evenement Control_L
Dans mon cas, il ne se passe rien. Même si je tappe
Bloc de code:
xmodmap .Xmodmap
à la console.

Zeusviper a dit:
après suffit d'automatiser la commande en la mettant dans ton script d'ouverture de session et c fait!
Tu veux dire dans .xinitrc? C'est ce que j'ai fait mais ça n'a aucun effet.

Que faire alors?
 
tu n'as aucun message d'erreur?

une fois executé xmodmap, si tu observe avec xev, tes touches ont-elles été bien modifiées comme voulu?

si oui ben c que ca marche!
si non ben je vois pas trop.. xmodmap doit etre executé dans un environnement graphique, pas juste en mode console (sous le mac par ex faut l'executer ds X11 et non dans terminal)

sinon ben... avis aux specialistes kde! :)
 
Zeusviper a dit:
tu n'as aucun message d'erreur?
Non.

une fois executé xmodmap, si tu observe avec xev, tes touches ont-elles été bien modifiées comme voulu?
Oui. Je me rends compte que cela fonctionne maintenant. C'est-à-dire que mes touches sont identifiées correctement. Dans OpenOffice, l'effet de Ctrl et Cmd est inversé. Par contre, dans Konqueror et dans les autres applications KDE que j'ai testées, cela ne change rien. Il semble que ces applications fonctionnent selon le code absolu de la touche. Elles ne sont pas affectées par de tels changements.

Zeusviper a dit:
sinon ben... avis aux specialistes kde! :)
Je crois en effet que ça devient pointu. Je vais demander. Merci beaucoup quand même!