How to install a key with the Cx 8 prefix?

Say I would like to bind Cx 8 x to ξ . So I:

 (global-set-key (kbd "Cx 8 x") (lambda () (interactive) (insert "ξ"))) 

but it does not work: it still inserts the x sign by default. Then I tried both:

 (global-unset-key (kbd "Cx 8 x")) (global-set-key (kbd "Cx 8 x") nil) 

none gives no effect.

Edit

Here is what I am using for the Greeks right now:

 (define-key 'iso-transl-ctl-x-8-map "a" [?α]) (define-key 'iso-transl-ctl-x-8-map "b" [?β]) (define-key 'iso-transl-ctl-x-8-map "g" [?γ]) (define-key 'iso-transl-ctl-x-8-map "d" [?δ]) (define-key 'iso-transl-ctl-x-8-map "e" [?ε]) (define-key 'iso-transl-ctl-x-8-map "z" [?ζ]) (define-key 'iso-transl-ctl-x-8-map "h" [?η]) (define-key 'iso-transl-ctl-x-8-map "o" [?θ]) (define-key 'iso-transl-ctl-x-8-map "i" [?ι]) (define-key 'iso-transl-ctl-x-8-map "k" [?κ]) (define-key 'iso-transl-ctl-x-8-map "l" [?λ]) (define-key 'iso-transl-ctl-x-8-map "m" [?μ]) (define-key 'iso-transl-ctl-x-8-map "n" [?ν]) (define-key 'iso-transl-ctl-x-8-map "x" [?ξ]) (define-key 'iso-transl-ctl-x-8-map "p" [?π]) (define-key 'iso-transl-ctl-x-8-map "r" [?ρ]) (define-key 'iso-transl-ctl-x-8-map "s" [?σ]) (define-key 'iso-transl-ctl-x-8-map (kbd "Ms") [?ς]) (define-key 'iso-transl-ctl-x-8-map "x" [?ξ]) (define-key 'iso-transl-ctl-x-8-map "t" [?τ]) (define-key 'iso-transl-ctl-x-8-map "y" [?υ]) (define-key 'iso-transl-ctl-x-8-map "f" [?φ]) (define-key 'iso-transl-ctl-x-8-map "v" [?χ]) (define-key 'iso-transl-ctl-x-8-map "j" [?ψ]) (define-key 'iso-transl-ctl-x-8-map "w" [?ω]) (define-key 'iso-transl-ctl-x-8-map "A" [?Α]) (define-key 'iso-transl-ctl-x-8-map "B" [?Β]) (define-key 'iso-transl-ctl-x-8-map "G" [?Γ]) (define-key 'iso-transl-ctl-x-8-map "D" [?Δ]) (define-key 'iso-transl-ctl-x-8-map "E" [?Ε]) (define-key 'iso-transl-ctl-x-8-map "Z" [?Ζ]) (define-key 'iso-transl-ctl-x-8-map "H" [?Η]) (define-key 'iso-transl-ctl-x-8-map "O" [?Θ]) (define-key 'iso-transl-ctl-x-8-map "I" [?Ι]) (define-key 'iso-transl-ctl-x-8-map "K" [?Κ]) (define-key 'iso-transl-ctl-x-8-map "L" [?Λ]) (define-key 'iso-transl-ctl-x-8-map "M" [?Μ]) (define-key 'iso-transl-ctl-x-8-map "N" [?Ν]) (define-key 'iso-transl-ctl-x-8-map "X" [?Ξ]) (define-key 'iso-transl-ctl-x-8-map "P" [?Π]) (define-key 'iso-transl-ctl-x-8-map "R" [?Ρ]) (define-key 'iso-transl-ctl-x-8-map "S" [?Σ]) (define-key 'iso-transl-ctl-x-8-map "T" [?Τ]) (define-key 'iso-transl-ctl-x-8-map "Y" [?Υ]) (define-key 'iso-transl-ctl-x-8-map "F" [?Φ]) (define-key 'iso-transl-ctl-x-8-map "V" [?Χ]) (define-key 'iso-transl-ctl-x-8-map "J" [?Ψ]) (define-key 'iso-transl-ctl-x-8-map "W" [?Ω]) 
+4
source share
2 answers

You must set the key in iso-transl-ctl-x-8-map . For instance:

 (eval-after-load 'iso-transl '(define-key iso-transl-ctl-x-8-map "x" "ξ")) 

This is because Cx 8 actually defined in key-translation-map , which overrides the global map.

+4
source

Oh, I found another way:

 (define-key 'iso-transl-ctl-x-8-map "x" [?ξ]) 

the link .

0
source

Source: https://habr.com/ru/post/1433140/


All Articles