summaryrefslogtreecommitdiff
path: root/lisp/term/x-win.el
diff options
context:
space:
mode:
authorAxel Svensson <mail@axelsvensson.com>2019-09-28 15:44:01 +0200
committerEli Zaretskii <eliz@gnu.org>2019-09-28 17:08:19 +0300
commit471ce18ae8890ab3444654fd7ac49950044f60d1 (patch)
tree4dc5fab0ade0a4563e222aae872bf56e858312e3 /lisp/term/x-win.el
parent3026af7744c6eed59067bfa12be1df226d8c0d64 (diff)
downloademacs-471ce18ae8890ab3444654fd7ac49950044f60d1.tar.gz
Update X keysym mapping
* lisp/term/x-win.el (x-keysym-table): Update the mappings using current Xorg data. (Bug#37530) Copyright-paperwork-exempt: yes
Diffstat (limited to 'lisp/term/x-win.el')
-rw-r--r--lisp/term/x-win.el40
1 files changed, 35 insertions, 5 deletions
diff --git a/lisp/term/x-win.el b/lisp/term/x-win.el
index 56061371fe1..d71bb345253 100644
--- a/lisp/term/x-win.el
+++ b/lisp/term/x-win.el
@@ -302,7 +302,11 @@ as returned by `x-server-vendor'."
(setq i (1+ i))))
;; Table from Kuhn's proposed additions to the `KEYSYM Encoding'
-;; appendix to the X protocol definition.
+;; appendix to the X protocol definition. As indicated, some of these
+;; have been corrected using information found in keysymdef.h which on
+;; a typical system is installed at /usr/include/X11/keysymdef.h. The
+;; version used here is from xorgproto version 2019.1 found here:
+;; https://gitlab.freedesktop.org/xorg/proto/xorgproto/blob/e0bba743ae7c549c58f92677b239ec7878548228/include/X11/keysymdef.h
(dolist
(pair
'(
@@ -579,6 +583,7 @@ as returned by `x-server-vendor'."
(#x6aa . ?њ)
(#x6ab . ?ћ)
(#x6ac . ?ќ)
+ (#x6ad . ?ґ) ;; Source: keysymdef.h
(#x6ae . ?ў)
(#x6af . ?џ)
(#x6b0 . ?№)
@@ -594,6 +599,7 @@ as returned by `x-server-vendor'."
(#x6ba . ?Њ)
(#x6bb . ?Ћ)
(#x6bc . ?Ќ)
+ (#x6bd . ?Ґ) ;; Source: keysymdef.h
(#x6be . ?Ў)
(#x6bf . ?Џ)
(#x6c0 . ?ю)
@@ -810,6 +816,7 @@ as returned by `x-server-vendor'."
(#xaa8 . ? )
(#xaa9 . ?—)
(#xaaa . ?–)
+ (#xaac . ?␣) ;; Source: keysymdef.h
(#xaae . ?…)
(#xaaf . ?‥)
(#xab0 . ?⅓)
@@ -822,7 +829,17 @@ as returned by `x-server-vendor'."
(#xab7 . ?⅚)
(#xab8 . ?℅)
(#xabb . ?‒)
+ ;; In keysymdef.h, the keysyms 0xabc and 0xabe are listed as
+ ;; U+27E8 and U+27E9 respectively. However, the parentheses
+ ;; indicate that these mappings are deprecated legacy keysyms
+ ;; that are either not one-to-one or semantically unclear. In
+ ;; order to not introduce any incompatibility with possible
+ ;; existing workflows that expect these keysyms to map as they
+ ;; currently do, to 0x2329 and 0x232a, respectively, they are
+ ;; left as they are. In particular, PuTTY is known to agree
+ ;; with this mapping.
(#xabc . ?〈)
+ (#xabd . ?.) ;; Source: keysymdef.h
(#xabe . ?〉)
(#xac3 . ?⅛)
(#xac4 . ?⅜)
@@ -839,6 +856,7 @@ as returned by `x-server-vendor'."
(#xad2 . ?“)
(#xad3 . ?”)
(#xad4 . ?℞)
+ (#xad5 . ?‰) ;; Source: keysymdef.h
(#xad6 . ?′)
(#xad7 . ?″)
(#xad9 . ?✝)
@@ -883,20 +901,29 @@ as returned by `x-server-vendor'."
(#xba8 . ?∨)
(#xba9 . ?∧)
(#xbc0 . ?¯)
- (#xbc2 . ?⊥)
+ ;; Source for #xbc2: keysymdef.h. Note that the
+ ;; `KEYSYM Encoding' appendix to the X protocol definition is
+ ;; incorrect.
+ (#xbc2 . ?⊤)
(#xbc3 . ?∩)
(#xbc4 . ?⌊)
(#xbc6 . ?_)
(#xbca . ?∘)
(#xbcc . ?⎕)
- (#xbce . ?⊤)
+ ;; Source for #xbce: keysymdef.h. Note that the
+ ;; `KEYSYM Encoding' appendix to the X protocol definition is
+ ;; incorrect.
+ (#xbce . ?⊥)
(#xbcf . ?○)
(#xbd3 . ?⌈)
(#xbd6 . ?∪)
(#xbd8 . ?⊃)
(#xbda . ?⊂)
- (#xbdc . ?⊢)
- (#xbfc . ?⊣)
+ ;; Source for #xbdc and #xbfc: keysymdef.h. Note that the
+ ;; `KEYSYM Encoding' appendix to the X protocol definition is
+ ;; incorrect.
+ (#xbdc . ?⊣)
+ (#xbfc . ?⊢)
;; Hebrew
(#xcdf . ?‗)
(#xce0 . ?א)
@@ -1143,6 +1170,9 @@ as returned by `x-server-vendor'."
;; #x0aff CURSOR Publish
;; #x0dde THAI MAIHANAKAT Thai
+;; However, keysymdef.h does have mappings for #x0aac and #x0abd, which
+;; are used above.
+
;;;; Selections