This is the mail archive of the cygwin-xfree mailing list for the Cygwin XFree86 project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: cygwin and xwin and super and hyper


Jon TURNEY <jon.turney@dronecode.org.uk> writes:

> On 19/06/2013 22:27, J. David Boyd wrote:
>> I can get my capslock key to be super with the command line 'setxkbmap -option
>> caps:super', but I can't get 'setxkbmap -option altwin:hyper_win' to do
>> anything.
>> 
>> Running 'setxkbmap -print' shows both options as being set, but the win keys
>> still act as the win key.
>> 
>> Is there something else I need to do so windows lets go of these keys?
>
> Yes.
>
> Again, let me refer you to [1].  The operative sentence is:
>
>> (Note that mapping the Windows keys to hyper also requires the -keyhook
>> option, so that the X server sees those keys before the Windows shell)
>
> One thing I failed to mention there is that without any keymap options the
> keymap should give you super on the windows keys, but you will still need
> -keyhook X server option to enable the X server to see the key.
>
> [1] http://cygwin.com/ml/cygwin/2012-03/msg00427.html


I can get everything working up to the point I start emacs.

The output from 'setxkbmap -print' is:

xkb_keymap {
        xkb_keycodes  { include "xfree86+aliases(qwerty)"       };
        xkb_types     { include "complete"      };
        xkb_compat    { include "complete"      };
        xkb_symbols   { include "pc+us+inet(pc105)+altwin(alt_super_win)+capslock(hyper)"       };
        xkb_geometry  { include "pc(pc105)"     };
};

and if I run XEV, and press capslock I get:

KeyPress event, serial 32, synthetic NO, window 0xc00001,
    root 0x131, subw 0x0, time 8145997, (504,324), root:(2162,400),
    state 0x0, keycode 66 (keysym 0xffed, Hyper_L), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyRelease event, serial 32, synthetic NO, window 0xc00001,
    root 0x131, subw 0x0, time 8146122, (504,324), root:(2162,400),
    state 0x40, keycode 66 (keysym 0xffed, Hyper_L), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False


and if I press Left Windows key I get:

KeyPress event, serial 32, synthetic NO, window 0xc00001,
    root 0x131, subw 0x0, time 8148993, (504,324), root:(2162,400),
    state 0x0, keycode 115 (keysym 0xffeb, Super_L), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyRelease event, serial 32, synthetic NO, window 0xc00001,
    root 0x131, subw 0x0, time 8149102, (504,324), root:(2162,400),
    state 0x40, keycode 115 (keysym 0xffeb, Super_L), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False



All perfect so far.

So, when I start up emacs, and press C-h k, then, for example, Capslock-d,
(hyper-d) I get 'H-d is undefined'. Yeah.

Then I press C-h k, then Left-Win-d, (super-d), I get 'H-d is undefined', and
not 's-d is undefined', which is what I expected to see.


Any ideas how I might resolve this?

Dave




--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://x.cygwin.com/docs/
FAQ:                   http://x.cygwin.com/docs/faq/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]