[prev in list] [next in list] [prev in thread] [next in thread] 

List:       enlightenment-users
Subject:    Re: [e-users] Is it possible that E 0.24 broke xkbmap?
From:       Carsten Haitzler <raster () rasterman ! com>
Date:       2020-09-22 9:27:20
Message-ID: 20200922102720.8acb4dfacfd4aa3624fe5f4e () rasterman ! com
[Download RAW message or body]

On Mon, 21 Sep 2020 18:39:41 -0700 Marc MERLIN <marc_e17@merlins.org> said:

> On Sun, Sep 20, 2020 at 01:50:10PM +0100, Carsten Haitzler wrote:
> > On Sat, 19 Sep 2020 15:08:34 -0700 Marc MERLIN <marc_e17@merlins.org> said:
> > 
> > > Ok, sorry for being a noob, but I need some help.
> > > 
> > > My xkb-keymap looks like nothing in /usr/share/X11/xkb/rules
> > > All docs I find about xkb-keymap talk about making the file I made and
> > > loading it.
> > > None talk about editing /usr/share/X11/xkb/rules/xorg.lst which looks
> > > like a different format altogether.
> > 
> > i have no idea - i've never gone and crated custom xkb layouts. as i said...
> > you're the first i have heard of to have done this. sure - multiple people
> > may have done it, but it's incredibly rare - at least in my experience.
> 
> Ok, just to make sure I'm understanding you.
> You are saying I can't use "xkbcomp ~/xkb-keymap :0" to update my
> keyboard mapping with 0.24 (while it works with older versions, although
> not optimally as you said).

E has no idea your kbd layout exists. E will, if you have xkb config, set
keymaps for you and switch them on the fly with keybindings you can set to
switch them. It only knows about system keymaps - it knows about these from the
lst files and refers to them by names given there. There is no way for it to
know how to address/name/offer your kbd map as a selection to switch to/from. I
have no idea what the file contains or what your keymap is called etc. ... thus
e's xkb code can't do anything with it. E sets up keymaps by running setxkbmap
in _e_x_xkb_reconfig() in e_xkb.c. This will obviously  conflict with your
manual running of setxkbmap that I've said many times so far. rght at the top
of that function and the others that actually modify keymaps is:

   if (e_config->xkb.dont_touch_my_damn_keyboard) return;

You can disable e's xkb handling entirely as I've said maybe 3 times now... but
then you are on your own to deal with kbd maps. This is number 4.

> Then you said I should edit the raw keymaps as defined in 
> /usr/share/X11/xkb/rules/xorg.lst, but it's a completely different
> format. I can't just paste my config in there and I've found no
> documentation on how to edit that base formwat (why is it incompatible
> with xkb-keymap? because xorg hates it users? :) ).

See above. E gets the list of available keymaps, options and modifiers from
there (you will see the GUI dialog content is essntially the options this
file spresents) and then will select keymaps at startup and when specific
keybindings say "switch keymap" as you can add multiple keymaps to X to be
available at any one time and switch on the fly using keybindings in E to
switch between them. The xkb gadget shows the currently selected keymap with a
flag. I have tested this various times and it works - at least they keymaps I
have tested that I know how they vary (en_us vs. de vs. jp - tried ru layout
and got cyrillic chars though I don't know if they were the right ones...). You
can also switch keymaps by clicking on the gadget and selecting keymap from the
menu. E also will reset keymap to the currently "intended" keymap as it
understands it to be based on several X events that come in. All this changing
of keymap is disabled id you use the "don't mess with my keymap" option, or
that is what the code says.

> Then you said, you don't know anyone who uses xkb-keymap files, but
> clearly it's the documented way to do things, and what works on other
> WM/DM that I've tried.
> https://unix.stackexchange.com/questions/202883/create-xkb-configuration-from-xmodmap
>  http://madduck.net/docs/extending-xkb/
> https://wiki.archlinux.org/index.php/X_KeyBoard_extension
> https://stackoverflow.com/questions/7799071/use-xkbdmap-setxkbmap-to-map-rwin-to-altgr
>  https://wiki.archlinux.org/index.php/Keyboard_configuration_in_Xorg
> https://zuttobenkyou.wordpress.com/2011/08/24/xorg-using-the-us-international-altgr-intl-variant-keyboard-layout/
>  etc...
> 
> So, is E really doing the right thing here? ~/xkb-keymap is the new
> ~/.Xomdmap. It's supposed to work, it works everyone else I've tried.
> Why not in E 0.24?

If you want to do your own keymap stuff.. DISABLE E DOING IT. If you want E to
handle it - it needs to know your keymap exists and can be addressed in some
way. I pointed you to the files that list keymaps and their options that appear
in e's xkb settings that allow you to select your keymaps and options. There
isn't a user file standard that extends this list that i have ever heard of.

> > i did give you the option of e not touching the xkb settings... if you wish
> > to do it by hand.
> 
> My apologies, I may have misunderstood you there. What are you referring
> to?

First time I mentioned it in this thread:

> is. There is a "Do not apply any keyboard settings ever" in e's keyboard
> settings. this leaves you on your own to deal with xkb... :)

2nd time:

> you can try the "don't touch my kbd layout" of course... that should have e
> leave it alone...

3rd time:

> i did give you the option of e not touching the xkb settings... if you wish to
> do it by hand.

#4 and #5 above. :)

#6. Right at the very top of e's keyboard settings. first option you
see: http://www.enlightenment.org/ss/e-5f69be7a6a2c87.54115545.png

By default e sets up a keyboard layout. It asks for one in the initial wizard to
make sure your kbd works. You probably got lucky in forcing your kbdmap to
override what E set and now you are getting unlucky.

-- 
------------- Codito, ergo sum - "I code, therefore I am" --------------
Carsten Haitzler - raster@rasterman.com



_______________________________________________
enlightenment-users mailing list
enlightenment-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-users


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic