[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Texmacs-dev] Re: [TeXmacs] Re: Modifier mapping suddenly broken?
From: |
Joris van der Hoeven |
Subject: |
[Texmacs-dev] Re: [TeXmacs] Re: Modifier mapping suddenly broken? |
Date: |
Tue, 30 Nov 2004 20:00:00 +0100 (CET) |
On Tue, 30 Nov 2004, Lionel Elie Mamane wrote:
> That's precisely the problem, it is the three:
>
> shift Shift_L (0x32), Shift_R (0x3e)
> lock Caps_Lock (0x42)
> control Control_L (0x25), Control_R (0x6d)
> mod1 Alt_L (0x40), Alt_L (0x7d)
> mod2 Num_Lock (0x4d)
> mod3
> mod4 Meta_L (0x73), Super_L (0x7f), Hyper_L (0x80), Meta_L (0x9c)
> mod5 Mode_switch (0x5d), ISO_Level3_Shift (0x7c)
>
> If I remove Super_L and Hyper_L from it, Meta works again in TeXmacs.
>
> shift Shift_L (0x32), Shift_R (0x3e)
> lock Caps_Lock (0x42)
> control Control_L (0x25), Control_R (0x6d)
> mod1 Alt_L (0x40), Alt_L (0x7d)
> mod2 Num_Lock (0x4d)
> mod3
> mod4 Meta_L (0x73), Meta_L (0x9c)
> mod5 Mode_switch (0x5d), ISO_Level3_Shift (0x7c)
>
> Now it works.
Please try to replace the routine
(define (get-default-hyper-modifier)
(let ((s (eval-system "xmodmap | grep Hyper_L")))
(cond ((string-starts? s "mod")
(string-append "Mod" (substring s 3 4)))
(else "Mod3"))))
in kbd-config.scm by
(define (get-default-hyper-modifier*)
(let ((s (eval-system "xmodmap | grep Hyper_L")))
(cond ((string-starts? s "mod")
(string-append "Mod" (substring s 3 4)))
(else "Mod3"))))
(define (get-default-hyper-modifier)
(with s (get-default-hyper-modifier*)
(if (= s (get-default-meta-modifier)) "Mod3" s)))
In fact, contrary to what I said before, TeXmacs actually *does* check
the xmodmap at start-up, but in the scheme part not the C++ code.
We have to ensure there that A, M and H correspond to different
modifier keys.