% stty erase ^?
Si le caract�re est effac�, mais d'une mani�re bizarre, c'est que les
param�tres du terminal sont mauvais. Si echoprt
est activ�, les
caract�res effac�s s'affichent entre \
et /
.
Si echoe
est d�sactiv�, les caract�res ne sont plus effac�s �
l'�cran, mais leur effacement est signal� par l'affichage du caract�re
d'effacement, exemple: Libux###nux
(avec # comme
caract�re d'effacement).On utilisera donc g�n�ralement stty echoe -echoprt
. La commande
stty sane
activera ces param�tres et bien d'autres. La commande
stty -a
affiche les param�tres actuels. Pourquoi ces param�tres ne
sont pas activ�s par d�faut ? Il suffit d'utiliser le bon getty
.
Il est � noter que beaucoup de programmes (comme bash
, emacs
etc.) ont leur propres assignations de touches (d�finis dans
~/.inputrc
, ~/.emacs
, etc.) et ne tiennent pas compte
de ces param�tres de terminal.
Jadis, la console traduisait DEL (\177
) en BS Espace BS
(\010\040\010
).
Les DEL sont d�sormais ignor�s (comme le devrait toute �mulation vt100 fid�le). Choisissez un meilleur getty, i.e., qui n'affiche pas les DEL.
Au premier essai, on parle � getty
, au deuxi�me �
login
, deux programmes distincts qui peuvent se comporter diff�remment.
Quand on utilise la console, ou plus pr�cis�ment, quand le clavier n'est pas en mode (medium)raw, il faut utiliser:
% loadkeys monclavier.map
Sous X, utiliser:
% xmodmap monclavier.xmap
Remarque: depuis XFree86-2.1, X initialise son clavier � partir de la
configuration du clavier de la console. Bien que les deux syst�mes ne
soient pas 100% compatibles, cette technique rend g�n�ralement
l'utilisation de xmodmap
superflue.Si, par exemple, si vous voulez que la touche Backspace g�n�re le code BackSpace (^H), au lieu du code par d�faut (Delete), faites:
% loadkeys
keycode 14 = BackSpace
%
(i) Parce que les terminaux VT100 ont une touche Delete au dessus de la touche Entr�e.
(ii) Parce que Linus en a d�cid� ainsi.
% xmodmap -e "keysym BackSpace = Delete" -e "keysym Delete = BackSpace"
Ou, si vous voulez juste que Backspace g�n�re le code BackSpace:
% xmodmap -e "keycode 22 = BackSpace"
Ou, si vous voulez juste que Delete g�n�re le code Delete:
% xmodmap -e "keycode 107 = Delete"
(mais g�n�ralement c'est d�j� la disposition par d�faut).Mettez dans votre .emacs
les lignes:
(global-set-key "\?" 'delete-backward-char)
(global-set-key "\C-h" 'help-command)
Bien s�r, vous pouvez associer d'autres commandes � d'autres touches
de la m�me mani�re.Mettez dans votre .emacs
les lignes:
(setq keyboard-translate-table (make-string 128 0))
(let ((i 0))
(while (< i 128)
(aset keyboard-translate-table i i)
(setq i (1+ i))))
(aset keyboard-translate-table ?\b ?\^?)
(aset keyboard-translate-table ?\^? ?\b)
Mettez dans votre .kermrc
les lignes:
set key \127 \8
set key \8 \127
Normalement xterm h�rite des modes de terminal du processus qui l'appelle.
Pour xdm
, les caract�res erase et kill sont #
et @
,
comme sur les bons vieux Unix Version 6.
Si �a ne vous pla�t pas, vous pouvez mettre
XTerm*ttymodes: erase ^? kill ^U intr ^C quit ^\ eof ^D susp ^Z start ^Q stop ^S eol ^@
dans /usr/lib/X11/app-defaults/XTerm
ou dans
$HOME/.Xresources
, � condition d'ex�cuter la commande
xrdb $HOME/.Xresources
dans votre $HOME/.xinitrc
.Mettre
*XmText.translations: #override\n\
<Key>osfDelete: delete-previous-character()
*XmTextField.translations: #override\n\
<Key>osfDelete: delete-previous-character()
dans votre $HOME/.Xresources
devrait faire l'affaire.Cependant, la FAQ de netscape dit:
Pourquoi ma touche Backspace ne marche pas dans les boites texte ? Par d�faut, Linux et XFree86 ont leur touches Backspace et Delete mal configur�es. Tous les programmes Motif (y compris Netscape Navigator) auront les m�mes probl�mes. Les sp�cifications Motif disent que Backspace doit effacer le caract�re pr�c�dent et Delete le caract�re suivant. Par d�faut sous Linux et XFree86 Backspace et Delete g�n�rent le code DEL. Le probl�me peut �tre r�solu en utilisant un programme tel que xmodmap, xkeycaps, ou loadkeys pour que la touche Backspace g�n�re le code BackSpace au lieu de Delete. Une autre solution consiste � avoir un fichier .motifbind; voir la page de manuel de VirtualBindings(3). Note: n'utilisez pas les ressources *XmText.translations ou *XmTextField.translations pour essayer de r�soudre ce probl�me. Si vous le faites, vous annulez toutes les autres programmations de touches dans les boites textes de Netscape Navigator.
Les gens qui ont des probl�mes avec backspace ont tendance � aller
voir dans leur fichier termcap (ou terminfo), et effectivement la
ressource kb
(ou kbs
) d�crit le code g�n�r� par la touche
Backspace. Cependant peu de programmes utilisent ces bases de donn�es
pour rechercher le code envoy� par backspace, donc,
� moins de n'avoir des probl�mes qu'avec certains programmes, il faut
en g�n�ral chercher ailleurs.
Cela dit, il vaut mieux de toute fa�on avoir un termcap (ou terminfo)
correct. Voir aussi "La variable TERM" plus loin.
Hosting by: Hurra Communications GmbH
Generated: 2007-01-26 18:01:42