Subject: bug#9751: 23.3; Alternative Keyboard Feature/Bug

From: Stefan Monnier <[email-masked]>
Date: Thu, 20 Oct 2011 09:19:09 -0400

> And `function-key-map' really works even for characters
> with no modifiers (for the value `nil' below):

>   (let ((modifiers '(nil (control) (meta) (control meta)))
>         (map '((?ς . ?w) (?ε . ?e) (?ρ . ?r) (?τ . ?t) (?υ . ?y)
>                (?θ . ?u) (?ι . ?i) (?ο . ?o) (?π . ?p) (?α . ?a)
>                (?σ . ?s) (?δ . ?d) (?φ . ?f) (?γ . ?g) (?η . ?h)
>                (?ξ . ?j) (?κ . ?k) (?λ . ?l) (?ζ . ?z) (?χ . ?x)
>                (?ψ . ?c) (?ω . ?v) (?β . ?b) (?ν . ?n) (?μ . ?m) (?\; . ?q))))
>     (dolist (pair map)
>       (dolist (mod modifiers)
>         (define-key local-function-key-map
>           (vector (append mod (list (car pair))))
>           (vector (append mod (list (cdr pair))))))))

> So `C-χ β' runs `switch-to-buffer' whereas self-inserting characters
> are inserted as is, without translation.

Yes, that's what I expected.

> However, there is another problem.  Single-key bindings don't work in modes
> where they are bound to other commands, like `v' (`dired-view-file') in Dired,
> or `d' (`Info-directory') in Info.

I don't understand what you mean here.  Do you mean that hitting
v/ω/omega will not run dired-view-file?  That's very odd.  Can you try
and investigate why that is?

        Stefan