Ocenite etot tekst:


Date: 16 Nov 96
From: Dima Barsky 

V  tradicionnom  metode  rusifikacii klaviatury (cherez xmodmap)
pereklyuchaetsya  sostoyanie  vsego  X-servera,  a   ne   otdel'nyh
klientov.  |to  mne  kazhetsya  neudobnym.  Esli  u  tebya vklyuchen
russkij registr, srazu zhe nachinayutsya problemy s  window  manag­
erom,  perestayut  rabotat'  Control  knopki, i t.d... Horosho by
umet' pereklyuchat' registr dlya kazhdoj programmy nezavisimo  (chto
ponachalu kazhetsya nevozmozhnym).

Podumavshi  nemnogo  ya  ponyal,  chto  pisat'  po-russki  mne (da,
vidimo,  i  bol'shinstvu  drugih  lyudej)  nuzhno  vsego  v   dvuh
programmah   -   xterm  i  emacs.  Oboih  mozhno  rusificirovat'
nezavisimo. Dlya emacs'a ya vzyal cyr.el ot Dimy Manina,
http://camelot.mssm.edu/~manin/cyr.el
nemnogo  ego  podshamanil i otdal emu nazad. Teper' on vrode by
rabotaet kak dlya Emacs'a tak i dlya XEmacs'a.

A  dlya  xterm  prishlos'  napisat'  svoj  resource-file  i v nem
pereopredelit' vse translations.  Posle  chego  nado  xmodmap'om
pereopredelit'  tol'ko  odnu  knopku,  kotoraya  budet  v xterme
registr pereklyuchat', naprimer vot tak:

xmodmap -e "remove lock = Caps_Lock"
xmodmap -e "keysym Caps_Lock = Execute"

|tu zhe knopku mozhno i v emacs'e dlya pereklyucheniya registrov ispol'zovat'.

Dima.
----------------------- CUT HERE: XTerm.ad  -----------------------------
*VT100.eightBitInput:  True
*VT100.eightBitOutput: True

*VT100.translations: #replace \
        Execute:	keymap(cyrillic) set-reverse-video(on)\n\
          Shift  Prior: scroll-back(1,halfpage) \n\
           Shift  Next: scroll-forw(1,halfpage) \n\
         Shift  Select: select-cursor-start() \
                                  select-cursor-end(PRIMARY, CUT_BUFFER0) \n\
         Shift  Insert: insert-selection(PRIMARY, CUT_BUFFER0) \n\
                 ~Meta: insert-seven-bit() \n\
                  Meta: insert-eight-bit() \n\
                !Ctrl : popup-menu(mainMenu) \n\
           !Lock Ctrl : popup-menu(mainMenu) \n\
                ~Meta : select-start() \n\
              ~Meta : select-extend() \n\
                !Ctrl : popup-menu(vtMenu) \n\
           !Lock Ctrl : popup-menu(vtMenu) \n\
          ~Ctrl ~Meta : ignore() \n\
            ~Ctrl ~Meta : insert-selection(PRIMARY, CUT_BUFFER0) \n\
                !Ctrl : popup-menu(fontMenu) \n\
           !Lock Ctrl : popup-menu(fontMenu) \n\
          ~Ctrl ~Meta : start-extend() \n\
              ~Meta : select-extend() \n\
                                  :select-end(PRIMARY, CUT_BUFFER0) \n\
                       : bell(0)


*VT100.cyrillicKeymap.translations: #override \
        Execute: keymap(None) set-reverse-video(off) \n\
        Return: insert() \n\
	Shift`: string("0xe0")\n\
	!`: string("0xc0")\n\
	Shifta: string("0xe1")\n\
	!a: string("0xc1")\n\
	Shiftb: string("0xe2")\n\
	!b: string("0xc2")\n\
	Shiftc: string("0xe3")\n\
	!c: string("0xc3")\n\
	Shiftd: string("0xe4")\n\
	!d: string("0xc4")\n\
	Shifte: string("0xe5")\n\
	!e: string("0xc5")\n\
	Shiftf: string("0xe6")\n\
	!f: string("0xc6")\n\
	Shiftg: string("0xe7")\n\
	!g: string("0xc7")\n\
	Shifth: string("0xe8")\n\
	!h: string("0xc8")\n\
	Shifti: string("0xe9")\n\
	!i: string("0xc9")\n\
	Shiftj: string("0xea")\n\
	!j: string("0xca")\n\
	Shiftk: string("0xeb")\n\
	!k: string("0xcb")\n\
	Shiftl: string("0xec")\n\
	!l: string("0xcc")\n\
	Shiftm: string("0xed")\n\
	!m: string("0xcd")\n\
	Shiftn: string("0xee")\n\
	!n: string("0xce")\n\
	Shifto: string("0xef")\n\
	!o: string("0xcf")\n\
	Shiftp: string("0xf0")\n\
	!p: string("0xd0")\n\
	Shiftq: string("0xf1")\n\
	!q: string("0xd1")\n\
	Shiftr: string("0xf2")\n\
	!r: string("0xd2")\n\
	Shifts: string("0xf3")\n\
	!s: string("0xd3")\n\
	Shiftt: string("0xf4")\n\
	!t: string("0xd4")\n\
	Shiftu: string("0xf5")\n\
	!u: string("0xd5")\n\
	Shiftv: string("0xf6")\n\
	!v: string("0xd6")\n\
	Shiftw: string("0xf7")\n\
	!w: string("0xd7")\n\
	Shiftx: string("0xf8")\n\
	!x: string("0xd8")\n\
	Shifty: string("0xf9")\n\
	!y: string("0xd9")\n\
	Shiftz: string("0xfa")\n\
	!z: string("0xda")\n\
	Shift[: string("0xfb")\n\
	![: string("0xdb")\n\
	Shift\\\\: string("0xfc")\n\
	!\\\\: string("0xdc")\n\
	Shift]: string("0xfd")\n\
	!]: string("0xdd")\n\
	Shift=: string("0xfe")\n\
	!=: string("0xde")\n\
	Shift3: string("0xdf")\n\
	Shift4: string("0xff")




    Dopolneniya

Da net, nikto ne sporit, bez xmodmapa ne obojtis'. No eti dva sposoba mogut prekrasno uzhivat'sya vmeste. Nikto ne meshaet tebe rusificirovat' xterm i emacs nezavisimo, a k pereklyucheniyu v russkij registr cherez Mode_switch pribegat' tol'ko v krajnih sluchayah. Nado tol'ko raznye knopki dlya etogo dela zavesti. Klaviatura dlya redaktora aXe - Resource-fajl prilagaetsya. Na vsyakij sluchaj - aXe eto takoj redaktor, vyglyadit dovol'no pohozhe na xedit, no umeet gorazdo bol'she. Ego mozhno vytashchit' iz ftp://ftp.x.org/contrib/editors/aXe-6.1.2.tar.Z ----------------------- CUT HERE: Axe.ad ----------------------------- *ed.translations: #override \n\ Execute: keymap(cyrillic) *ed.cyrillicKeymap.translations: #override \ Execute: keymap(None) \n\ Shift`: insert-string("0xe0")\n\ `: insert-string("0xc0")\n\ ShiftA: insert-string("0xe1")\n\ A: insert-string("0xc1")\n\ ShiftB: insert-string("0xe2")\n\ B: insert-string("0xc2")\n\ ShiftC: insert-string("0xe3")\n\ C: insert-string("0xc3")\n\ ShiftD: insert-string("0xe4")\n\ D: insert-string("0xc4")\n\ ShiftE: insert-string("0xe5")\n\ E: insert-string("0xc5")\n\ ShiftF: insert-string("0xe6")\n\ F: insert-string("0xc6")\n\ ShiftG: insert-string("0xe7")\n\ G: insert-string("0xc7")\n\ ShiftH: insert-string("0xe8")\n\ H: insert-string("0xc8")\n\ ShiftI: insert-string("0xe9")\n\ I: insert-string("0xc9")\n\ ShiftJ: insert-string("0xea")\n\ J: insert-string("0xca")\n\ ShiftK: insert-string("0xeb")\n\ K: insert-string("0xcb")\n\ ShiftL: insert-string("0xec")\n\ L: insert-string("0xcc")\n\ ShiftM: insert-string("0xed")\n\ M: insert-string("0xcd")\n\ ShiftN: insert-string("0xee")\n\ N: insert-string("0xce")\n\ ShiftO: insert-string("0xef")\n\ O: insert-string("0xcf")\n\ ShiftP: insert-string("0xf0")\n\ P: insert-string("0xd0")\n\ ShiftQ: insert-string("0xf1")\n\ Q: insert-string("0xd1")\n\ ShiftR: insert-string("0xf2")\n\ R: insert-string("0xd2")\n\ ShiftS: insert-string("0xf3")\n\ S: insert-string("0xd3")\n\ ShiftT: insert-string("0xf4")\n\ T: insert-string("0xd4")\n\ ShiftU: insert-string("0xf5")\n\ U: insert-string("0xd5")\n\ ShiftV: insert-string("0xf6")\n\ V: insert-string("0xd6")\n\ ShiftW: insert-string("0xf7")\n\ W: insert-string("0xd7")\n\ ShiftX: insert-string("0xf8")\n\ X: insert-string("0xd8")\n\ ShiftY: insert-string("0xf9")\n\ Y: insert-string("0xd9")\n\ ShiftZ: insert-string("0xfa")\n\ Z: insert-string("0xda")\n\ Shift[: insert-string("0xfb")\n\ [: insert-string("0xdb")\n\ Shift\\\\: insert-string("0xfc")\n\ \\\\: insert-string("0xdc")\n\ Shift]: insert-string("0xfd")\n\ ]: insert-string("0xdd")\n\ Shift=: insert-string("0xfe")\n\ =: insert-string("0xde")\n\ Shift3: insert-string("0xdf")\n\ Shift4: insert-string("0xff")

Last-modified: Mon, 09 Dec 1996 07:38:12 GMT
Ocenite etot tekst: