I found this forum when I attempted to search for how to change xkb's Level4 to CapsLock. I even wrote a post asking this question. But eventually I decided to just use DreymaR's Extend (with Qwerty).
In this post I will tell you my experience of 1.5 month of using Extend and issues I encountered. The post will be quite long, but all the details are relevant (either to my case or for the future - lest people struggle like me).
I use PC105 keyboard with two layouts: fin (with a few modifications of mine) and rus_fin (Phonetic Russian alphabet with Finnish layout; layout I created myself a long time ago).
Stage 1.
Since I made my own modifications to xkb, I installed all the necessary files manually. All important keys worked, as far as I could see - arrow keys and all the mouse commands. The only problem was that my system (Linux Mint 19 Cinnamon) was crashing. At least the visual part of it - programs seemed to continue to work fine in the background.
Even after restarting, the system was broken. Thanks God Linux Mint has a Timeshift program now and I could lose a lot of time, but just restore the working system!
Those crashes were directly related to Extend, but in an extremely weird way:
- Extend is disabled in Mint's graphical keyboard setting. Enabling it crashes the whole system.
- Extend is enabled in Mint's graphical keyboard setting. Disabling it works fine. Enabling it after also works totally fine!
- Running a terminal command enabling Extend (
setxkbmap -model pc105 -layout fi,ru -variant classic,rus_fin -option "grp_led:scroll,grp:alt_shift_toggle,terminate:ctrl_alt_bksp,lv5:caps_switch_lock,misc:extend"
) works fine.
Therefore every time I rebooted my system, I had to make sure that:
1. Extend was enabled from the start (if it wasn't - enabling would always crash the whole system)
2. Go to settings and both disable and enable it again.
Not a big deal and definitely worth the hassle, but I would prefer to have something totally automatic. While trying to figure out how to do it, I got a suspicion about HD errors.
Stage 2.
I went and checked my disks for errors. It did indeed found some and fixed them.
Yay! Now my system doesn't crash when enabling Extend!
But my next worry became that some of the keys suddenly stopped working. For example all the keys related to Mouse (be it movement, clicks or mouse wheels). They simply didn't work.
At this point I also noticed a problem with non-working key repeats: sometimes the system would go in a continuous key-repeats-disabled state in which pressing a key would give only one character. Interestingly Backspace's key repeats worked fine. In order to get my key repeats back I had to go to settings and disable/enable Extend ('terminally' speaking not "lv5:caps_switch_lock", but simple "misc:extend"). After that it worked for some time again.
I am pretty sure that I encountered this issue in the previous stage as well, but can't be 100%.
Stage 3.
I was in Stage2 for several weeks having a blast with Extend, getting more experience I could report. One day I decided to finally write and send the report in. But during the exact same day mouse commands started working again! I didn't do anything to fix it, I don't think I updated a system, I am pretty sure that I didn't reboot the system, I am not even sure that I hibernated the system! I feel like it didn't work at one point and then, without me doing anything out of ordinary, it suddenly started working!
That was a total surprise!
I have been in Stage3 for several weeks now - having more experience with Extend and waiting if half of the buttons would stop working again. But mouse commands are still working. I hope this is the status that will continue and not end abruptly like it started.
Everything is working quite well and generally speaking I am very satisfied and would not go back. But I had or still have some issues that bug me:
1. Terminal does something weird while trying to e.g. delete previous work with Ctrl+Backspace (or Ctrl+Delete to delete the following word). Fortunately, this is a a common problem with a solution. Just google "zsh ctrl+backspace" or "bash ctrl+backspace".
2. The upper row that is supposed to work with Ext+Shift+Fnumber-Key is not working. The buttons work fine without Shift.
3. Some other keys also seem not to be working: Ext+Enter. Ext+Backspace - I either don't understand the function of this key (so why does it exist and why did you put it in such a visible place?) or it doesn't work.
4. There is a major issue with Esc. Obviously, there are 4 types of Esc (fin-Normal, fin-Extend, rus-Normal, rus-Extend).
4a) fin-Normal is the only one that works properly (at least I think so; in some programs Esc key doesn't do what I would assume it should, but this is probably just bad programming/UI/design skill of the developers - this is Linux... :shrugging shoulders: ).
4b) fin-Extend, rus-Normal, rus-Extend.
- Works: in Libreoffice..
- Doesn't work: Firefox, calculator, Telegram Desktop, SMPlayer, Nemo (file browser), SpaceFM (file browser), System Monitor, Steam, QBittorrent, Clementine (music player), GParted, SublimeText3, Start Menu...
You can see a trend here where:
- the only thing that works is the proper Esc key in fin-layout.
- the only program where Esc works in every layout is LibreOffice.
I don't expect all the Extend keys to work - after all, at least half of the keys (related to mouse) didn't work and I was ok with that. So I can live with Extend's Esc not working.
But what bothers me is the fact that a proper physical Esc key is not working in rus-layout if Extend is enabled. If Extend is disabled, physical Esc key in rus-layout starts working again. Enable Extend => stops working again. So a clear Extend-related issue. Really damn irritating to have been writing something in Russian and not having the Esc key functionality (have to either grab the mouse or switch to Fin layout, press Esc there and switch back to Rus layout again!).
And what makes it super-weird is that LibreOffice (6.0.7.3) is the only program that works with all 4 Escs. How and why does it manage to work if every other program refuses to work with the 3/4 of Escs - I don't even... If the keys wouldn't consistently work everywhere, at least it would have been logical...
5. Issue with non-working key repeats still continues. Every once in a while I have to go to the settings to disable and enable Extend to get key repeats working again. This issue doesn't seem to be related to time (how long computer has been on), but to reboot/hibernate cycles.
Here is a little testing I did consequently with hibernate:
- Reset. 5 hibernates. Not working, have to reset.
- 5 hibernates. Not working, have to reset.
- 2 hibernates. Not working, have to reset.
- 2 hibernates. Not working, have to reset.
- 3 hibernates. Working, but I try to test and decide to reset keyboard. 7 hibernates. Not working, have to reset.
6. Shift+Space. It works, but doesn't repeat (even if all other key are repeating fine). This is very unfortunate, because in a browser I use Space as DownPage and Shift+Space as UpPage (a very convenient shortcut few people know about!). If I disable Extend, Shift+Space starts repeating again.
(While writing this post) Stage4.
While writing this report, I was obviously testing and re-testing to make sure that I know what I am doing, that I have solid facts and that I won't report (too much) garbage. And while testing different Extend buttons, my mouse stopped working again! I was like "Is this for real?! What are the chances?!".
As you can already guess, it was all my fault - I was triggering the strange-looking Circle button (to the right from the Left Shift), which turned out to be the Enable/Disable Mouse button. Who knew! :-) Actually, I did. I am an avid reader and I like to RTFM. But there is so much information that I forgot (decided that I don't need this functionality and didn't make a conscious effort to remember; therefore was never able to link this information in my mind) why that button is there and it does.
It wasn't helped by the key map. I downloaded it, printed, made it a lot more understandable (by writing what some of the buttons do; because often it's not understandable from the icons alone), hanged it on the wall in front of myself, but still missed this.
The Extend functionality is great, but I feel like the Keymap doesn't do it justice. Just a couple of examples from my own, understandably flawed and subjective, experience:
1. Arguably the most important (used by me most often) invention of Extend - putting Enter functionality on the Space key. I only found out about this functionality because I saw DreymaR mentioning it in some obscure comment in some obscure thread. I had not idea this functionality was there after reading a bunch of material. Space button is big, no need to save space and only use the lavel - I would put a proper "Enter" label in there and promote this main feature in the text form as well (in the starting posts)...
2. Enable/disable mouse movements icon. A circle that represents... what?.. I would have a simple contour of a mouse with a line striking through.
3. The same thing with Mouse Buttons. Perhaps there is a space for a simple contour of a mouse with visible keys?
4. There are so many arrows and it's very difficult to distinguish between them without the label (Extend-ISO-NoWi-Win_90d.png has even more).
5. One of those arrows is the CapsLock functionality (Esc button). It looks like a... symbol of a button that can be pressed down?.. Very confusing! I stumbled upon this CapsLock funtionality by accident - enabled it somehow and had to research how to turn it off... Here is a symbol that would IMO be more understandable:
6. The upper row (F1 - F12) have understandable icons and no text needs to be added. But icons are not panacea - if they are not understandable, then why not to add some additional labels, especially if there is enough space?
I hope that reading my perspective was interesting, revealing and perhaps even useful.
Is Extend-ISO-NoWi-Linux_90d.png the best quality of key map that there is? If you don't have time/interest (or flatly don't agree with my perspective), I could try to make changes. I am really bad at graphics, but perhaps we can see how it goes and if the result is any better?
So that's that about the usability/UI regarding the key map and the mouse issues.
But I still have technical issues with:
1. Esc keys.
2. Key repeat.
3. Shift-Space.
4. Upper row keys not functioning with Shift.
5. Ext+Enter (Ext+Backspace?)
I hope you or other people have solutions/ideas!
Thank you for years of active and dedicated development - the ideas and implementation is really solid. I can attest to that with 6+ weeks of experience. I won't go back! Thank you once again!