C
Size: a a a
C
PG
C
PG
C
C
C
DL
PG
A
(defun reverse-im--translate-char-strict (c)
"Try to translate C using active translation keymap."
(let ((to))
(map-keymap #'(lambda (from value)
(when (and (characterp from)
(= c from))
(setq to (aref value 0))))
(keymap-parent function-key-map))
(or to c)))
(defun reverse-im-read-char (orig-fun &rest args)
"An advice for `read-char' compatible ORIG-FUN called with ARGS."
(let ((res (apply orig-fun args)))
(reverse-im--translate-char-strict res)))
DL
A
DL
A
A