Главная страница


ru.unix.bsd

 
 - RU.UNIX.BSD ------------------------------------------------------------------
 From : yx                                   2:5020/400     22 Nov 2001  20:59:59
 To : Eugene Grosbein
 Subject : Re: shells & termcap
 -------------------------------------------------------------------------------- 
 
 Eugene Grosbein <Eugene.Grosbein@f1.n5006.z2.fidonet.org> wrote:
  
 >>> Кто-нибудь может объяснить, почему самые распространенные шеллы
 >>> (sh, tcsh, bash) для привязки клавиш к действиям (delete-char, 
 >>> backspace, и т.д.) оперируют конкретными кодами, а не terminal
 >>> capabilities? Почему нельзя сказать: на клавишу kD повесить delete-char,
 > 
 >> можно, если есть такая (и не кривая) capability
 >> (kD в termcap, kdch1 в terminfo)
 >> нп у меню сейчас TERM=wsvt25, сравниваю нп с cons25:
 >>   % infocmp -C $TERM cons25 | grep kD
 >>         kD: NULL, '\177'.
 >>  т.е. как и в vt100 (тоже и с ansi терм):
 >>   % infocmp -C vt100 cons25 | grep kD
 >>         kD: NULL, '\177'.
 >>   % infocmp -C vt100 xterm | grep kD
 >>         kD: NULL, '\E[3~'.
 >>  итого - нет kD capability в termcap для честного vt100 эмулятора.
 > 
 > Если нет, то и нет. Hо если есть? Гораздо лучше уметь биндить и на 
 > capability, и на коды. Причем на коды - как fallback, а не как
 > основной способ.
 > 
 
  угу видал я когда на del отстреливаются символы на две колонки назад.
 >>  (DEL у меня забинден и отрабатывает нормально, как впрочем и BS).
 > 
 >>> а приходится писать 'bind ^? em-delete-or-list' для .editrc,
 >>> 'Rubout: delete-char' для .inputrc и 'bindkey ^? delete-char' для .cshrc ?
 >>> А для других терминалов дублировать и молиться, что они не пересекутся.
 >>> 
 >>> Может, есть какая-то разумная причина этому?
 >>> 
 >> часто плохо определенная цепочка
 >>  kbd_keycode-term_cap_info_entry-key_sequence
 >> особенно для BS/DEL, и когда во многих терминалах BS и DEL реализованы
 >> через
 >> друг друга (в отличии от четко определенного erase char, посм. можно с
 >> stty).
 >> Плюс еще терминальные deviant реализации.
 >> Плюс еще, нп, "хорошо" получается получать term entry ориентируясь на
 >> $TERM когда какое-нибудь Xtermapp ориентируется на $COLORTERM.
 >> И еще видимо встречаются различные "приятные плюсы" с
 >> BS/DEL accordance, specific termname, deviant implementation, etc.
 >>   Хотя всю эту специфику можно проверять/учитывать (иногда так и
 >> делают),
 >> однако морока и не всегда срабатывает - проще bindkey на
 >> специфичные capabilities, а нормальные так и подхватываются без
 >> bindkey.
 > 
 > Проще говоря, всем на все плевать.
 >
 
  ну да, и если точней это скорей похоже на -
  "вечный ранний кембрий - жизнь только в море" :))
 > Как мне теперь повесить kD на delete-char,
 > чтобы в xterm через editline(3) работало?
 > 
 
  можно посмотреть где-то в инете болтаются on-fly скрипты, которые делают
  идейно правильные term entries без всяких kbd девиаций с BS/DEL, и
  соответствующим четким разносом BS на backspace keysym и DEL на delete keysym
  через локальный .terminfo.
  ы тогда по идее, все что честно через terminal capabilties работает -
  отрабатывает нормально и в иксах и в консоле.
  (хотя кривой сам по себе term xterm мне пока не попадался на глаза).
 
 bye.
 
 -- 
 Vladimir Yakovetsky
 --- ifmail v.2.15dev5
  * Origin: yx disorganized groupie (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Re: shells & termcap   yx   22 Nov 2001 20:59:59 
Архивное /ru.unix.bsd/2921890cce220.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional