screen i strzałki

Jakub Bogusz qboosh w pld.org.pl
Sob, 29 Cze 2002, 15:44:26 CEST


On Sat, Jun 29, 2002 at 01:47:11AM +0200, Jakub Bogusz wrote:
> Okazuje się, że vim działa dziwnie - na screenie najwyraźniej sam
> przełącza tryb na "application" (samo przełączanie znalazłem w kodzie)
> i oczekuje takich sekwencji w terminfo; z kolei na konsoli nie
> przełącza (chociaż nie widzę w kodzie żadnego warunku, który mógłby
> o tym decydować) i oczekuje, że w terminfo będą informacje o trybie
> "normal" :/

Nie tylko vim - także np. less i pinfo.
Wg Text-Terminal-HOWTO jest to normalne - jeżeli w definicji terminala
jest zdefiniowana sekwencja ^(ks), to do obsługi strzałek zgodnie z bazą
terminfo aplikacja powinna ją wysłać na terminal - albo samodzielnie
parsować sekwencje strzałek. np. w ncurses służy do tego funkcja keypad().

TERM=linux nie ma zdefiniowanej sekwencji ^(ks) (mimo tego, że można
zmienić tryb) - dlatego w opisie są sekwencje dla "normal mode".
TERM=screen ma tę sekwencję zdefiniowaną - i w opisie są sekwencje już
dla "application mode".

> Jako że w terminfo może być przechowywana tylko jedna sekwencja per
> klawisz, to wychodzi, że sekwencje dla strzałek lepiej żeby były zaszyte
> w kodzie... (swoją drogą w dosemu (src/base/keyboard/keyb_slang.c) jest
> taki komentarz właśnie przy tym: /* Who knows which mode it'll be in */).

slrn nie przestawia trybu klawiszy - dlatego zaraz do slrn-keymap.patch
trafi poprawka pozostawiająca sekwencje dla obu trybów strzałek oprócz
pobierania informacji z terminfo (wycinane będą tylko sekwencje dla
PgUp/PgDn - te klawisze maja tylko jeden tryb).

BTW: w slangu też są zaszyte sekwencje dla klawiszy kursora, a nawet dla
Home/End/PgUp/PgDn/Del/Ins (co już wydaje się niepotrzebne).


-- 
Jakub Bogusz    http://prioris.mini.pw.edu.pl/~qboosh/



Więcej informacji o liście dyskusyjnej pld-devel-pl