Function: quail-update-keyboard-layout
quail-update-keyboard-layout is a byte-compiled function defined in
quail.el.gz.
Signature
(quail-update-keyboard-layout KBD-TYPE)
Source Code
;; Defined in /usr/src/emacs/lisp/international/quail.el.gz
(defun quail-update-keyboard-layout (kbd-type)
(let ((layout (assoc kbd-type quail-keyboard-layout-alist)))
(if (null layout)
;; Here, we had better ask a user to define his own keyboard
;; layout interactively.
(error "Unknown keyboard type `%s'" kbd-type))
(setq quail-keyboard-layout (cdr layout))
(let ((i quail-keyboard-layout-len)
subst-list missing-list)
;; Sum up additional key locations not in the standard layout in
;; subst-list, and missing key locations in missing-list.
(while (> i 0)
(setq i (1- i))
(if (= (aref quail-keyboard-layout i) ? )
(if (/= (aref quail-keyboard-layout-standard i) ? )
(setq missing-list (cons i missing-list)))
(if (= (aref quail-keyboard-layout-standard i) ? )
(setq subst-list (cons (cons i nil) subst-list)))))
(setq quail-keyboard-layout-substitution subst-list)
;; If there are additional key locations, map them to missing
;; key locations.
(dolist (missing missing-list)
(while (and subst-list (cdr (car subst-list)))
(setq subst-list (cdr subst-list)))
(if subst-list
(setcdr (car subst-list) missing))))))