comparison lisp/x-win-xfree86.el @ 3171:4cad7ff4a200

[xemacs-hg @ 2005-12-24 19:53:53 by aidan] Incremental changes to improve Russian C-x processing--support punctuation, XFree86 and Sun keyboards, document the facility.
author aidan
date Sat, 24 Dec 2005 19:54:01 +0000
parents 7039e6323819
children e34711681f30
comparison
equal deleted inserted replaced
3170:db0631f96757 3171:4cad7ff4a200
44 (globally-declare-fboundp 44 (globally-declare-fboundp
45 '(x-keysym-on-keyboard-p x-keysym-on-keyboard-sans-modifiers-p)) 45 '(x-keysym-on-keyboard-p x-keysym-on-keyboard-sans-modifiers-p))
46 46
47 ;;;###autoload 47 ;;;###autoload
48 (defun x-win-init-xfree86 () 48 (defun x-win-init-xfree86 ()
49
50 ;; We know this keyboard is an XFree86 keyboard. As such, we can predict
51 ;; what key scan codes will correspond to the keys on US keyboard layout,
52 ;; and we can use that information to fall back to the US layout when
53 ;; looking up commands that would otherwise fail. (Cf. the hard-coding of
54 ;; this information in /usr/X11R6/lib/X11/xkb/keycodes/xfree86 )
55 ;;
56 ;; These settings for x-us-keymap-first-keycode and
57 ;; x-us-keymap-description were determined with
58 ;;
59 ;; setxkbmap us
60 ;; xmodmap -pke > keyboard-description.txt
61 ;;
62 ;; "8" is the key code of the first line, x-us-keymap-description is
63 ;; taken from the column describing the bindings.
64
65 (setq x-us-keymap-first-keycode 8
66 x-us-keymap-description
67 [nil nil [?1 ?!] [?2 ?@] [?3 ?\#] [?4 ?$] [?5 ?%] [?6 ?^] [?7 ?&]
68 [?8 ?*] [?9 ?\(] [?0 ?\)] [?- ?_] [?= ?+] nil ?\t [?q ?Q]
69 [?w ?W] [?e ?E] [?r ?R] [?t ?T] [?y ?Y] [?u ?U] [?i ?I] [?o ?O]
70 [?p ?P] [?\[ ?{] [?\] ?}] nil nil [?a ?A] [?s ?S] [?d ?D]
71 [?f ?F] [?g ?G] [?h ?H] [?j ?J] [?k ?K] [?l ?L] [?\; ?:]
72 [?\' ?\"] [?\` ?~] nil [?\\ ?|] [?z ?Z] [?x ?X] [?c ?C]
73 [?v ?V] [?b ?B] [?n ?N] [?m ?M] [?\, ?<] [?\. ?>] [?/ ?\?]
74 nil ?* nil ?\ nil nil nil nil nil nil nil nil nil nil nil
75 nil nil ?7 ?8 ?9 ?- ?4 ?5 ?6 ?+ ?1 ?2 ?3 ?0 ?\. nil nil
76 [?< ?>] nil nil nil nil nil nil nil nil nil nil nil nil
77 nil nil nil nil nil ?/ nil nil nil nil nil nil nil nil
78 nil nil nil nil nil ?=])
79
49 (loop for (key sane-key) in 80 (loop for (key sane-key) in
50 '((f13 f1) 81 '((f13 f1)
51 (f14 f2) 82 (f14 f2)
52 (f15 f3) 83 (f15 f3)
53 (f16 f4) 84 (f16 f4)