• You are not logged in.

DreymaR's Big Bag of Keyboard Tricks (Linux/XKB files included)!

  • Started by DreymaR
  • 310 Replies:
  • Reputation: 0
  • Registered: 28-Apr-2019
  • Posts: 4

@DreymaR Ok, I solved it all by removing the actions of my custom keys in xkb/symbols/extend (replacing them by NoAction()).

Offline
  • 0
  • Reputation: 111
  • From: Oslo, Norway
  • Registered: 13-Dec-2006
  • Posts: 4,707

Well, in that case I guess you could've just commented out those keys altogether? But it's nice that you got it to work, grats with that!

*** Learn Colemak in 2–5 steps with Tarmak! ***
*** Check out my Big Bag of Keyboard Tricks for Win/Linux/TMK... ***

Offline
  • 0
  • Reputation: 0
  • Registered: 14-Jun-2019
  • Posts: 1

Hi everyone, I've read through the instructions and I'm lost with the combination for setting my preferred colemak layout, can someone post a setxkbmap command for it? I'd really appericate it! mod_dh_keyb_ansi_wide.png

Offline
  • 0
  • Reputation: 111
  • From: Oslo, Norway
  • Registered: 13-Dec-2006
  • Posts: 4,707
shay said:

I've read through the instructions and I'm lost with the combination for setting my preferred colemak layout...

Hi! What you have there is an ANSI-CurlAngle(Z)Wide(/) Colemak, but with SteveP's preferred placement of 6 vs =. In my opinion using the right hand on the 6 key is wrong for standard row-staggered boards since the distance from the home position is greater for the right hand and the physical middle of the board is between the 6 and 7 keys so to speak. So I haven't implemented the 6-to-the-right Wide option everywhere.

$> ./setxkb.sh 4cw

This command activates my version of ANSI-CAW[eD]. See the setxkb help text to make it permanent by adding a line to your ~/.bashrc file. If you want the swapped 6 and = keys you may edit the symbols/colemak file to achieve this by swapping the key codes for those keys (it'll affect all Colemak[eD] layouts but that may be okay?). Look around in there and see if you can figure out how.

*** Learn Colemak in 2–5 steps with Tarmak! ***
*** Check out my Big Bag of Keyboard Tricks for Win/Linux/TMK... ***

Offline
  • 0
  • Reputation: 0
  • Registered: 19-Sep-2019
  • Posts: 2

Hi,

thanks for the extend layer. Getting all those editor-independent movement keys at my fingertips is awesome.

I let install-dreymar-xmod.sh patch the xkb files and set the default layouts and options from /etc/default/keyboard like

XKBMODEL="pc105"
XKBLAYOUT="us,us,de"
XKBVARIANT="colemak,basic,basic"
XKBOPTIONS="terminate:ctrl_alt_bksp,grp:sclk_toggle,grep_led:caps,misc:extend,lv5:caps_switch_lock"

I have two annoying problems, that I don't know how to tackle:

1. My Fn keys below F8 do not work as soon as I add the misc:extend option.
   (Same for CAPS-1..7, only CAPS-8..0 generate F8..F10 keypresses)?

2. Keyboard repeat seems to be disabled for most keys (independent of whether the extend option is there or not, only dependent on whether patches are applied).

    xset reports some sort of a mask?

   

 $ xset q
[...]
auto repeating keys:  0001c000100000a0
                      0080ff6ffeedffff
                      9fffffffffffffff
                      ff77ffffffffffff
[...]

I am a bit at a loss on how to debug that. I suppose commenting out the multimedia keys in your config works towards 1, but I am at a loss for 2.

Offline
  • 0
  • Reputation: 111
  • From: Oslo, Norway
  • Registered: 13-Dec-2006
  • Posts: 4,707

Glad you enjoy it! Unfortunately, I'm not sure about the repeat thing, it puzzles me as well. I think it may be about key types but that's as far as I got. Yeah, that mask is certainly interesting.

Really not sure why my files should bork only F1–F7 for you either. That makes no sense to me. Sorry.

Last edited by DreymaR (19-Sep-2019 15:15:11)

*** Learn Colemak in 2–5 steps with Tarmak! ***
*** Check out my Big Bag of Keyboard Tricks for Win/Linux/TMK... ***

Offline
  • 0
  • Reputation: 0
  • Registered: 19-Sep-2019
  • Posts: 2

As an additional data point worth noting, I found that the generated xkb layout by klfc does NOT affect the key repeat! And the CAPS-1..7 keys do produce F1..7, which is good enough for me for the time being.

The regular F1..7 don't work either. Probably some interference with the multimedia keys of this Thinkpad.

Last edited by coroa (19-Sep-2019 15:24:39)
Offline
  • 0
  • Reputation: 0
  • Registered: 02-Jul-2017
  • Posts: 3

Hey there Dreymar, thanks again for this great tool, been using it for long time already but on Windows. I switched to Linux and I wanted to use it differently here. My config right now is:

./setxkb.sh 5c us us

and I want to use the extend key on the LAlt key place, and have the LAlt mapped to CapsLock. Before applying your script, I successfully swap the behaviour of those keys via editing /usr/share/X11/xkb/keycodes/evdev , but after using the install-dreymar-xmod.sh script that no longer works, so I'm a bit stucked over here...  Please help me, what files do I need to manually edit in order to do that, and what else do I have to do to make this changes permanently for my user? Cheers! Thank you so much again.

Last edited by crisgon (11-Nov-2019 03:02:27)
Offline
  • 0
  • Reputation: 111
  • From: Oslo, Norway
  • Registered: 13-Dec-2006
  • Posts: 4,707

I guess my files just overwrote your changed evdev file? Have you checked it after installing the BigBag? Your change should affect the PC105 model, make sure it does that. Keycodes is a good place to swap "hard" key behavior.

My CurlAngleWide mods are implemented as keyboard models (like PC104/ANSI and PC05/ISO) but these inherit from the basic ANSI/ISO models so if your change is done to those it should come through just fine.

If you use a US layout, are you sure you're on an ISO board? If you're on an ANSI keyboard you probably don't want the 5c but 4c model?

To make the changes permanent, there's an option in setxkb.sh to write the setxkbmap command string to your ~/.bashrc file. If you use another logon file, copy the line to that.

Last edited by DreymaR (12-Nov-2019 12:24:15)

*** Learn Colemak in 2–5 steps with Tarmak! ***
*** Check out my Big Bag of Keyboard Tricks for Win/Linux/TMK... ***

Offline
  • 0
  • Reputation: 0
  • Registered: 02-Jul-2017
  • Posts: 3

Hey again Dreymar, thanks for your reply. Yes, I have an ISO Latin American Keyboard, so 105 fits me. I was using your script without any hassle yesterday, however when I went to turn on my computer, Linux wont boot, it stays frozen after loading modules (I'm not sure exactly what it does when boots up), says:

bluetooth hci0 failed to send firmware data (-110)

I tried to find solutions on the internet but couldn't find anything similar. I don't use bluetooth but it wasn't giving me errors either. This was after applying your scripts, I can confirm this behaviour because I have used ElementaryOS and Ubuntu before (now I'm using Pop! OS) and got the same errors after rebooting the system. I thought this was because of my battery draining down to zero after having it suspended, but today I just confirmed that is this script that is making my laptop not to boot.

Do you have any idea what could be causing this issue? I really want to use the extend key and colemak itself, but I dont want to use Windows again.

PS: I wrote you on Discord.

UPDATE: After reinstalling Pop! OS and successfully logging in, I tried and run install-dreymar-xmod.sh -ox, set the layout to 5c us us, rebooted and again getting the same error. Meanwhile I found an xmodmap that maps keys to the desired but no Extend super powers for me. I'd really appreciate your help.

Last edited by crisgon (12-Nov-2019 22:57:02)
Offline
  • 0
  • Reputation: 111
  • From: Oslo, Norway
  • Registered: 13-Dec-2006
  • Posts: 4,707

Well, that's just weird. My script doesn't do anything to any bluetooth stuff. Have you run the script with normal admin rights? It should ask for a sudo password. If any of the X11 files change ownership you could get trouble.

*** Learn Colemak in 2–5 steps with Tarmak! ***
*** Check out my Big Bag of Keyboard Tricks for Win/Linux/TMK... ***

Offline
  • 0