Isto é possível, se e somente se o terminal envia sequências de escape diferentes para Ctrl+ Leftvs Left. Por padrão, esse não é o caso no console do Linux (pelo menos na minha máquina). Você pode fazer isso modificando o mapa de teclas. O arquivo exato a ser modificado pode depender da sua distribuição; no Debian lenny, o arquivo a ser modificado é /etc/console/boottime.kmap.gz
. Você precisa de linhas como
control keycode 105 = F100
string F100 = "\033O5D"
control keycode 106 = F101
string F101 = "\033O5C"
Você também pode escolher as mesmas seqüências de escape que o seu emulador de terminal X. Para descobrir qual é a sequência de controle, digite Ctrl+ V Ctrl+ Leftem um shell; Isso insere (na minha máquina) ^[O5D
onde ^[
é um caráter de fuga. No arquivo de mapa de teclas, \033
representa um caractere de escape.
Configurar o aplicativo no terminal para decodificar a sequência de escape é um problema separado,.
"\033O5D"
código, mas omitindo completamente de onde obteve os códigoskeycode 105
eF100
. Além disso, recebo^[[1;5B
e^[[1;5A
para ctrl + Down e Ctrl + Up. Como devo lidar com a1;
peça?