Mateusz Poszwa <[email protected]> writes:

> On Fri, 12 Jul 2013 01:08:03 +0200
> lee <[email protected]> wrote:
>> My understanding was that you need to use the actual key symbol (as used
>> in xmodmap) that is being produced.  For example, when you have
>> 
>> bindsym $mod+Shift+J move left
>> 
>> a capital 'J' is being produced.  When you have the some binding without
>> Shift, like
>> 
>> bindsym $mod+j move left
>> 
>> it's a small 'j' because Shift isn't pressed.
>
> „
> bindsym $mod+Shift+j move left
> ”
> would work too. Maybe the names are case insensitive?

Maybe they are, though the documentation indicates that you need to use
the key symbols that are being produced.

>> This shows throughout the default configuration file.  The documentation
>> says:
>> 
>> 
>> ,---- [ http://i3wm.org/docs/userguide.html#keybindings]
>> |
>> | A keysym (key symbol) is a description for a specific symbol, like "a"
>> | or "b", but also more strange ones like "underscore" instead of
>> | "_". These are the ones you use in Xmodmap to remap your keys. To get
>> | the current mapping of your keys, use xmodmap -pke. To interactively
>> | enter a key and see what keysym it is configured to, use xev.
>> |
>> `----
>> 
>> 
>> I have been using xev to verify that pressing 'AltGr+<Minus Key>' and
>> 'AltGr+Shift+<Minus Key>' do yield 'periodcentered' and 'abovedot',
>> respectively.  (Those are now intercepted by i3.)
>
> I don't think so, but I may be wrong.

Those symbols aren't typed anymore when I press the keys, so yes,
really, i3 must be intercepting them.

> If it was as you say, you could write
> „
> bindsym abovedot workspace prev
> ”
> instead of
> „
> bindsym $mod+Shift+minus workspace prev
> ”
> To be honest, I haven't checked if the former works.
> You can do it as an exercise and let me know if you succeed. ;-)
> I'd be surprised, but I don't say it's impossible.

That's an interesting idea indeed :)  I tried it and it doesn't work.

>> Actually, 'Shift+<Minus Key>' produces an underscore.  How come that
>> 'AltGr+Shift+minus' even works?  Shouldn't that rather be
>> 'AltGr+Shift+underscore'?[1]
>
> I think i3 maps keysyms („plain” keysyms — without modifiers)
> to keycodes and applies modifiers itself.

Going by the documentation, the key codes seem to be irrelevant unless
you use 'bindcode' instead of 'bindsym'.  I guess if I changed my
xmodmap so that '-' (minus) is on the key that's labeled 'J', I'd have
to press AltGr+j instead of AltGr+<minus>.

This is pretty confusing ...

>> > As a side note, I don't think using AltGr as a modifier is a good idea…
>> 
>> How come you think so?  It works great and allows for some easy
>> one-handed i3-operations.  Since I have modified my xmodmap so that I
>> can type braces and brackets without pressing AltGr, there are only four
>> keys that come to mind for which I need AltGr: '@', '|', 'ß' and '\'.
>> That leaves me pretty much all of the other 98 keys to bind i3 stuff to
>> :)  Do you know of any application which would be aware that there's such
>> a thing as an AltGr key?
>
> How about 'ö'? ;-P

What about it?

> You are right. It seems good in you case. I use the Colemak keyboard
> layout, which uses AltGr heavily for diacritics input, and there's
> quite many of them in Polish.

Ah I only write English and German, so I'm not missing any letters with
the keyboard as is.  The only thing is that there are some like '/', '~'
and brackets that are at very inconvenient locations with a default
German layout, so I changed that.

> As for AltGr-aware applications, probably some old games may use that
> key.

Hm, none that does comes to mind ...

>> (I'm using a Model M keyboard that doesn't have the obsolete keys newer
>> ones have, so there aren't any keys around Space, Alt, AltGr and Ctrl
>> that would get persistently in the way.)
>
> I have plenty of „obsolete” keys on my TypeMatrix 2020,
> such as Super (captioned „Start”), which I use for i3's bindings,
> or Caps Lock, which I have bound a minus to. ;-)

That looks like an interesting keyboard :)  I wish I could have one with
122 keys, but it seems that there are hardware issues preventing that.


-- 
"Object-oriented programming languages aren't completely convinced that
you should be allowed to do anything with functions."
http://www.joelonsoftware.com/items/2006/08/01.html

Reply via email to