texmacs-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Texmacs-dev] Re: [TeXmacs] Re: Modifier mapping suddenly broken?


From: Norbert Nemec
Subject: [Texmacs-dev] Re: [TeXmacs] Re: Modifier mapping suddenly broken?
Date: Wed, 1 Dec 2004 15:27:44 +0100
User-agent: KMail/1.7.1

Sorry to nag again, but the problem is still not solved for me. :-(

What I have discovered so far, is that my xmodmap is different from Lionel's:

 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),  Meta_L (0x9c)
 mod2        Num_Lock (0x4d)
 mod3
 mod4        Super_L (0x7f),  Hyper_L (0x80)
 mod5        Mode_switch (0x5d),  ISO_Level3_Shift (0x7c)

Testing via xev shows, that the Win-key (which used to act as M- in TeXmacs) 
is actually represented by "Super_L".

(All of this on a Debian system without any personal changes to the 
configuration.)

Doing some more experiments led me to a solution similar to that by Joris, but 
now for the meta key instead of the hyper key. (with Joris patch still in 
place as well)

------------------------------
(define (get-default-meta-modifier*)
  (let ((s (eval-system "xmodmap | grep Meta_L")))
    (cond ((string-starts? s "mod")
           (string-append "Mod" (substring s 3 4)))
          (else (get-default-super-modifier)))))

(define (get-default-meta-modifier)
  (with s (get-default-meta-modifier*)
    (if (equal? s (get-default-alt-modifier))
         (get-default-super-modifier) s)))
------------------------------

Now it works for me. I have no idea whether this kind of hack messes up the 
situation on some other system. Probably, someone with more knowledge on this 
matter should check through the details of the changes in the keymap default 
configuration on various Unix-systems.

Ciao,
Nobbi



Am Dienstag, 30. November 2004 21:35 schrieb Lionel Elie Mamane:
> On Tue, Nov 30, 2004 at 08:00:00PM +0100, Joris van der Hoeven wrote:
> > 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*)
>
>  -------> cut <-------
>
> > (define (get-default-hyper-modifier)
> >   (with s (get-default-hyper-modifier*)
> >     (if (= s (get-default-meta-modifier)) "Mod3" s)))
>
> It works with "(if (equal? s (get-default-meta-modifier)) "Mod3" s)))"
>
> :)
>
> Meta is recognised as Meta now. And Alt as Alt. Works.

-- 
_________________________________________Norbert Nemec
         Bernhardstr. 2 ... D-93053 Regensburg
     Tel: 0941 - 2009638 ... Mobil: 0179 - 7475199
           eMail: <address@hidden>




reply via email to

[Prev in Thread] Current Thread [Next in Thread]