;; ;; ru-keys.el -- support for Russian keys for XEmacs. ;; ;; Version: 0.2 ;; ;; Written by Andrew W. Nosenko ;; ;; Credits: ;; This file based on hint from Alexey Vyskubov ;; Also thanks Hrvoje Niksic . ;; ;; Changes 0.1 -> 0.2: ;; Total rewrited. Uses `self-insert-command' machinery now. ;; ;; Changes 0.0 -> 0.1: ;; Honor universal argument (C-u) and `overwrite-mode' variable. ;; ;; (defun ru-keys-define-char (keysym ch) "Set relation between KEYSYM and character CH and mark CH as word-consistent charcter in global syntax table." (modify-syntax-entry ch "w") (global-set-key keysym 'self-insert-command) (put keysym 'ascii-character ch) ) (ru-keys-define-char 'Cyrillic_io ?£) (ru-keys-define-char 'Cyrillic_IO ?³) (ru-keys-define-char 'Cyrillic_shorti ?Ê) (ru-keys-define-char 'Cyrillic_tse ?Ã) (ru-keys-define-char 'Cyrillic_u ?Õ) (ru-keys-define-char 'Cyrillic_ka ?Ë) (ru-keys-define-char 'Cyrillic_ie ?Å) (ru-keys-define-char 'Cyrillic_en ?Î) (ru-keys-define-char 'Cyrillic_ghe ?Ç) (ru-keys-define-char 'Cyrillic_sha ?Û) (ru-keys-define-char 'Cyrillic_shcha ?Ý) (ru-keys-define-char 'Cyrillic_ze ?Ú) (ru-keys-define-char 'Cyrillic_ha ?È) (ru-keys-define-char 'Cyrillic_hardsign ?ß) (ru-keys-define-char 'Cyrillic_SHORTI ?ê) (ru-keys-define-char 'Cyrillic_TSE ?ã) (ru-keys-define-char 'Cyrillic_U ?õ) (ru-keys-define-char 'Cyrillic_KA ?ë) (ru-keys-define-char 'Cyrillic_IE ?å) (ru-keys-define-char 'Cyrillic_EN ?î) (ru-keys-define-char 'Cyrillic_GHE ?ç) (ru-keys-define-char 'Cyrillic_SHA ?û) (ru-keys-define-char 'Cyrillic_SHCHA ?ý) (ru-keys-define-char 'Cyrillic_ZE ?ú) (ru-keys-define-char 'Cyrillic_HA ?è) (ru-keys-define-char 'Cyrillic_HARDSIGN ?ÿ) (ru-keys-define-char 'Cyrillic_ef ?Æ) (ru-keys-define-char 'Cyrillic_yeru ?Ù) (ru-keys-define-char 'Cyrillic_ve ?×) (ru-keys-define-char 'Cyrillic_a ?Á) (ru-keys-define-char 'Cyrillic_pe ?Ð) (ru-keys-define-char 'Cyrillic_er ?Ò) (ru-keys-define-char 'Cyrillic_o ?Ï) (ru-keys-define-char 'Cyrillic_el ?Ì) (ru-keys-define-char 'Cyrillic_de ?Ä) (ru-keys-define-char 'Cyrillic_zhe ?Ö) (ru-keys-define-char 'Cyrillic_e ?Ü) (ru-keys-define-char 'Cyrillic_EF ?æ) (ru-keys-define-char 'Cyrillic_YERU ?ù) (ru-keys-define-char 'Cyrillic_VE ?÷) (ru-keys-define-char 'Cyrillic_A ?á) (ru-keys-define-char 'Cyrillic_PE ?ð) (ru-keys-define-char 'Cyrillic_ER ?ò) (ru-keys-define-char 'Cyrillic_O ?ï) (ru-keys-define-char 'Cyrillic_EL ?ì) (ru-keys-define-char 'Cyrillic_DE ?ä) (ru-keys-define-char 'Cyrillic_ZHE ?ö) (ru-keys-define-char 'Cyrillic_E ?ü) (ru-keys-define-char 'Cyrillic_ya ?Ñ) (ru-keys-define-char 'Cyrillic_che ?Þ) (ru-keys-define-char 'Cyrillic_es ?Ó) (ru-keys-define-char 'Cyrillic_em ?Í) (ru-keys-define-char 'Cyrillic_i ?É) (ru-keys-define-char 'Cyrillic_te ?Ô) (ru-keys-define-char 'Cyrillic_softsign ?Ø) (ru-keys-define-char 'Cyrillic_be ?Â) (ru-keys-define-char 'Cyrillic_yu ?À) (ru-keys-define-char 'Cyrillic_YA ?ñ) (ru-keys-define-char 'Cyrillic_CHE ?þ) (ru-keys-define-char 'Cyrillic_ES ?ó) (ru-keys-define-char 'Cyrillic_EM ?í) (ru-keys-define-char 'Cyrillic_I ?é) (ru-keys-define-char 'Cyrillic_TE ?ô) (ru-keys-define-char 'Cyrillic_SOFTSIGN ?ø) (ru-keys-define-char 'Cyrillic_BE ?â) (ru-keys-define-char 'Cyrillic_YU ?à) (provide 'ru-keys)