# mapping clavier



## Zeusviper (26 Janvier 2006)

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,
++


----------



## Cinquante (26 Janvier 2006)

J'ai pas cherché plus que ça mais je pense que c'est du coté /etc/X11/


----------



## belzebuth (31 Mars 2006)

voui ce genre de truc m'interesse aussi...


----------



## bompi (31 Mars 2006)

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 :
	
	



```
#!/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 :
	
	



```
xmodmap -pm
```
pour connaître les _modifiers_ (alt, ctrl etc.),
	
	



```
xmodmap -pke
```
 te donnera la configuration de xmodmap écrite de sorte que cela puisse être utilisé dans un fichier de configuration de xmodmap.


----------



## wolverine (31 Mars 2006)

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 :
> ...




tu est un vrai dictionnaire vivant je suis impressioné  va falloir que je potasse fort


----------



## Zeusviper (1 Avril 2006)

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!

++


----------



## belzebuth (1 Avril 2006)

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...


----------



## bompi (1 Avril 2006)

En même temps, écrire des caractères accentués avec un clavier QWERTY n'est pas si difficile.


----------



## belzebuth (1 Avril 2006)

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!


----------



## Zeusviper (8 Mai 2006)

pour ceux que ca intéresse, je suis tombé completement par hasard la dessus : http://www.mosx.net/trucs/modifkeymap.shtml

c'est vieux, mais après essai rapide, ca semble toujours marcher au poil!

A+!


----------



## houlala63 (9 Mai 2006)

Si ca peut aider, PASCAL 77 a conservé un pt'tit fichier qu'il faudra adapter mais qui pourrait faire l'affaire:
ICI


----------



## pierreTib (28 Mai 2006)

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?


----------



## Zeusviper (29 Mai 2006)

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 : 

```
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!


----------



## bompi (29 Mai 2006)

Pour que ce soit automatique, il doit falloir le mettre dans "~/.xinitrc", m'est avis.


----------



## pierreTib (29 Mai 2006)

Zeusviper a dit:
			
		

> je crée un fichier dans mon repertoire home que j'appelle ".Xmodmap"
> je mets dedans :
> 
> ```
> ...


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 
	
	



```
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?


----------



## Zeusviper (29 Mai 2006)

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!


----------



## pierreTib (29 Mai 2006)

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!


----------

