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

Re: [E-devel] Super_L keybinding

On Mon, 10 Apr 2006 14:51:08 -0400 dan sinclair <zero@perplexity.org> babbled:

> Hello,
> I was wondering if there is a reason why, when using the keybinding 
> configuration dialog, you can't bind to just the Super_L or Super_R keys 
> anymore. I can do it through enlightenment_remote but the config panel 
> dosen't accept it. (I typically bind Super_L to exec eterm.)

well - for the same reason it doesn't let you bind alt or shift or control -
super and meta are modifier keys in x - they have special significance. sure -
you can technically bind them and it happens to work (alt and shift too) but
x's configuration is such that these keys AFFECT modifiers (like control, alt,
shift etc.) and have special use. it' is a rare case that you want to bind a
modifier itself (as this instantly removes its ability to be used as a modifier

BUT - that code there does need fixing. it ASSUMES certain keys map to
the "virtual" modifiers that ecore_x maps things to (it tries to standardise
things to use ctrl, shift, alt and win - some keyboards don't have alt - like
apple, so it looks for other modifiers).

in ecore_x.c line 329 (approximately) - ecore_x does its mappings and
discovery. we need to add an inverse lookup to get valid keynames (maybe more
than one) for modifiers and locks. (ie request a list or array of strings that
are the names of keys that would produce that modifier). that would be the
correct way to do this. :)

> The attached patch will remove this limitation, but as I don't know that 
> code I don't want to just apply it. Any reasons why this shouldn't go 
> in? Or why it's currently setup this way?
> Thanks,
> dan

------------- Codito, ergo sum - "I code, therefore I am" --------------
The Rasterman (Carsten Haitzler)    raster@rasterman.com
Tokyo, Japan (東京 日本)