Šumniki v xtermu

Metod Kozelj metod.kozelj at rzs-hm.si
Fri Feb 22 08:42:15 CET 2002


Howdy!

Konfiguracija:
RedHat 7.2
KDE 2.2.2
XF86 4.1.0

Težava je, da se mi v nekaterih programih (xterm - XFree86-4.1.0, 
emacs - emacs-X11-20.7, ...) šumniki ne pojavljajo. Drugod (kterm, ...) se
mi šumniki pojavljajo normalno. Ali je kdo to težavo že kako obšel?


Podrobneje: v zgoraj opisanem (nedelujočem) primeru xev v primeru pritiska
tipke 'š' izpiše naslednje:

KeyPress event, serial 22, synthetic NO, window 0x2200001,
    root 0x36, subw 0x0, time 751031138, (131,71), root:(830,91),
    state 0x0, keycode 34 (keysym 0x1b9, scaron), same_screen YES,
    XLookupString gives 0 characters:  ""


V delujočem primeru (XFree86 3.3.5, kde 1.1.2) pa izpiše naslednje:

KeyPress event, serial 30, synthetic NO, window 0x5400001,
    root 0x26, subw 0x0, time 750802229, (32,175), root:(861,203),
    state 0x0, keycode 34 (keysym 0xb9, onesuperior), same_screen YES,
    XLookupString gives 1 characters:  "š"


Bistvena razlika je v kodi 'keysym', ki ima v novejšem primeru spredaj
'1'. Ta načeloma pomeni, da je znak po ISO-8859-2. Vse lepo in prav, ampak
starejši programi (xterm, ...) očitno uporabljajo rezultat funkcije
XLookupString, ki pa je v novejšem primeru prazen, namesto da bi bil 'š'.
Predpostavljam, da je to žužek (bug) v funkciji XLookupString (ali imam
prav?).

Težavo bi se najbrž dalo odpraviti na dva načina:
1. Popraviti funkcijo XLookupString, da bo vračala ne-prazne znake
2. Popraviti (vnesi ime in lokacijo) funkcijo, ki vrača vrednost keysym,
   tako da ne bo spredaj tiste '1'.

Najbrž bi bilo bolj pravilno prvo.

Ali ima kdo kakšno boljšo idejo ali rešitev problema?

Peace!
  Mkx

---- perl -e 'print $i=pack(c5,(41*2),sqrt(7056),(unpack(c,H)-2),oct(115),10);'




More information about the lugos-list mailing list