fabi1cazenave / qwerty-lafayette

QWERTY keyboard layout for French-speaking users
https://qwerty-lafayette.org/
107 stars 65 forks source link

For Linux users without privileges, advise to use xkbcomp tool #83

Open JulioJu opened 5 years ago

JulioJu commented 5 years ago

Hi !

On https://qwerty-lafayette.org/#_lafayette , For Linux users who have not root privileges, it could be cool to advise to use the xkbcomps tool. For Wayland users, it could cause problems but often in computers without privileges right it's still the X-Org server who is installed (at least at my university).

fabi1cazenave commented 5 years ago

I agree we should have a “portable” Linux layout, as we now have a portable Windows one (PKL). There’s no such issue on OSX, as any keyboard layout can be installed either in user-space or system-wide.

My main worry is that the .xkb layout raised a lot of bug reports (mostly about media keys not working, sometimes worse) — and there are good chances to believe it won’t be supported any more in the near future.

If we publish an .xkb again, we should probably add some instructions and disclaimers in the “Download” section and/or in the file header.

JulioJu commented 5 years ago

Lot of warnings are shown, but don't cause any problem for me and at least for French and English. Could you confirm again @GuillaumeSeren (see https://github.com/fabi1cazenave/qwerty-lafayette/issues/73 ) ? As you said « It's just a warning », could you confirm it? I use only this way, every day since many year to change my layout and it works very well. It works well even on Unity Desktop at the University.

Media keys works perfectly with xkbcomp.

The only problem is with Wayland, as it doesn't support to customize the keyboard layout without privileges and will never support it for security reason. They say that it's the job of the the client (i.e. the Desktop Manager) to do that. See https://news.ycombinator.com/item?id=16406829 .or https://askubuntu.com/questions/991742/modifying-keyboard-layout-in-wayland )

GuillaumeSeren commented 5 years ago

hello ! :coffee:

Could you confirm again @GuillaumeSeren (see #73 ) ?

Yes ! I still use it, on both laptop and desktop using that trick, thats not the cleanest (I get some warnings), but thats worked well,

└─> ~/.local/bin/xkalamine apply ~/src/free/github/guillaumeseren/qwerty-lafayette/layouts/qwerty.yaml 

Warning:          Unsupported high keycode 372 for name <I372> ignored
                  X11 cannot support keycodes above 255.
                  This warning only shows for the first high keycode.
JulioJu commented 5 years ago

@GuillaumeSeren thanks to confirm it ;-) So cool !

I use the old command

$ xkbcomp -w9 /opt/lafayette_linux_v0.6.xkb $DISPLAY 

As it even on a computer without Python 3 installed, we could use Lafayette very easy ! 

Actually I use https://raw.githubusercontent.com/fabi1cazenave/qwerty-lafayette/master/releases/lafayette_linux_v0.6.xkb

jreybert commented 2 years ago

I see this issue has not been updated since 2019.

I never had to go into keyboard mapping until I tried (and adopted) lafayette, and I was mentally fine until then.

I work with a rootless linux environment (Rocky 8.5). I blindly tried tried a lot of combination from this thread and from xkb web page, the only working setup is from @Julio, with a lot of warning. At a first glance, it seems to work.

xkbcomp -w9 /opt/lafayette_linux_v0.6.xkb $DISPLAY 

Would it be possible to publish a .xkb file for the last 0.6.1. Or to highlight a safer method?

Futhermore, I would like to keep it userland, because in the next month I think I will adapt the mapping a bit for me.

maggick commented 2 years ago

Not the latest version but still: https://github.com/maggick/dotfiles/blob/master/lafayette.xkb

fabi1cazenave commented 1 year ago

In my understanding, xkbcomp will only work on Xorg environments… so it feels like it’s doomed.

Is there still a use case for a version that requires non-root privileges on non-Wayland systems?

fabi1cazenave commented 1 year ago

I totally missed that, but it looks like there’s a non-privileged option nowadays: https://xkbcommon.org/doc/current/md_doc_user_configuration.html

If that works, the installer could be modified to store the layout either in $XDG_CONFIG/xkb (when run as user) or in /usr/share/X11/xkb (when run as root). I’ll have a look.

Delapouite commented 1 year ago

I confirm that my custom-layout has been living inside $XDG_CONFIG/xkb for a while without noticable issue.

fabi1cazenave commented 1 year ago

@Delapouite your help would be appreciated here. ;-)

I’ve copied the relevant parts of /usr/share/X11/xkb/rules/{base,evdev}.xml into ~/.config/xkb/rules/, and the layout definition in ~/.config/xkb/symbols/fr. Now what should I do ?

Is there a setxkbmap command I can run to apply the layout ? (Even if it only works on Xorg ?)

fabi1cazenave commented 1 year ago

note to self: http://who-t.blogspot.com/2020/02/user-specific-xkb-configuration-part-1.html