• You are not logged in.

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

  • Started by DreymaR
  • 391 Replies:
  • Reputation: 214
  • From: Viken, Norway
  • Registered: 13-Dec-2006
  • Posts: 5,364

On a side note: The GitHub issues functionality is the best way to report issues with the BigBag files. However, I'll happily answer here too, it's just a bit more messy and harder to find afterwards.

Try updating to the latest commit. I had a wrong scan code for the <BKSP> key in the extend file (it was incorrectly called <BACK>, an artefact of me working cross-platform).

Here's the current Backspace mapping:

    key <BKSP> { symbols[Group1]=[Any       , Any       , Any       , Any       ,   // BackSpace
                    Pause                       , Pause                         ,   // Pause/Break
                    Pause                       , Pause                         ] , // (<BRK> is special)
                 actions[Group1]=[NoAction(), NoAction(), NoAction(), NoAction(),
                    Redirect(key=<PAUS>,clearmods=LevelFive), Redirect(key=<PAUS>,clearmods=LevelFive) ,
                    NoAction()                  , NoAction()                    ] ,
                 repeat=yes     };  // BackSpace

If instead you want to output Ctrl+Backspace, it's doable I think. You'd want to use this I suppose:

    key <BKSP> { symbols[Group1]=[Any       , Any       , Any       , Any       ,   // BackSpace
                    BackSpace                   , BackSpace                   ,   // Ctrl+Backspace (by action)
                    BackSpace                   , BackSpace                   ] , // 
                 actions[Group1]=[NoAction(), NoAction(), NoAction(), NoAction(),
      Redirect(key=<BKSP>,mods=Control,clearmods=LevelFive), Redirect(key=<BKSP>,mods=Shift+Control,clearmods=LevelFive),  // Ctrl+Back
      Redirect(key=<BKSP>,mods=Control,clearmods=LevelFive), Redirect(key=<BKSP>,mods=Shift+Control,clearmods=LevelFive)], // Ctrl+Back
                 repeat=yes     };  // BackSpace

Please let me know if that works!

*** 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: 27-May-2023
  • Posts: 3

Wow, that works wonderfully! I am greatly appreciative of all your work put into the Big Bag.

I apologize for any inconvenience caused by not using the GitHub Issues, but I'll keep it in mind for future reference. I'm fairly new to this whole programming thing and it just somehow slipped my mind.

Much thanks :)

Offline
  • 0
  • Reputation: 214
  • From: Viken, Norway
  • Registered: 13-Dec-2006
  • Posts: 5,364

Glad it worked! I'll slip this mapping into the symbols/extend file, commented out, so people can use it if they wish to.

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

Offline
  • 0
  • Reputation: 1
  • Registered: 16-Jan-2024
  • Posts: 4

Hello!

I'm a colemak and linux noob and trying to get the keyboard on my ubuntu dual boot to match my setup in epkl on windows. I'm using Tarmak 1 with the curlangle mod on ANSI -- QWJRTYUIOP ASDFGMNEL XCBVZKH. I am having trouble finding this option in the menu after installing the BBT XBB package on ubuntu. How would I go about installing it?

Offline
  • 0
  • Reputation: 214
  • From: Viken, Norway
  • Registered: 13-Dec-2006
  • Posts: 5,364

Hi! Linux and xkb can be tricksy, hope you manage it!

First, you have to use the install script to copy the BigBag files to the system X11/xkb directory. Then, the setkb.sh script activates a layout combo of your choice. To make it persistent, the setkb script can write its setxkbmap command to a file that gets sourced at startup, such as your user's .bashrc file.

If your distro uses Wayland, the procedure is different. I'm afraid you'll have to peruse the README and try to find the answers yourself.

The ANSI keyboard has model name pc104, and with the Angle mod that's pc104_angle (iirc). The setkb script has a shorthand notation where for instance 'a' means 'anglemod'; run `./setkb.sh -h` to see its help text.

Last edited by DreymaR (17-Jan-2024 16:26:58)

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

Offline
  • 1
  • Reputation: 1
  • Registered: 16-Jan-2024
  • Posts: 4

Thanks for the help! I'm still having some trouble. Checking via

setxkbmap -v 9

, I can successfully set the angle mod by running

bash setkb.sh -m "pc104_angle"

" (although this doesn't change the layout as far as I can tell). However, running

bash setkb.sh -l "tarmak2c_et"

the script displays the readout at bottom and does not change the layout from cmk_ed_us as far as I can tell. Also, not even the angle mod seems to be set up when I added this to /etc/rc.local.

/Desktop/BigBagKbdTrixXKB-master/setkb.sh -m "pc104angle" -l "us(tarmak2c_et)" || exit 1
exit 0
Setting verbose level to 9
locale is C
Warning! Multiple definitions of keyboard model
         Using command line, ignoring X server
Warning! Multiple definitions of keyboard layout
         Using command line, ignoring X server
Trying to load rules file ./rules/evdev...
Success.
Applied rules from evdev:
rules:      evdev
model:      pc105awide
layout:     tarmak2c_et
options:    misc:extend,lv5:caps_switch_lock,grp:shifts_toggle,compose:menu
Trying to build keymap using the following components:
keycodes:   evdev(pc105awide)+aliases(qwerty)
types:      complete
compat:     complete
symbols:    pc+tarmak2c_et+inet(evdev)+group(shifts_toggle)+compose(menu)+level5(caps_switch_lock)+extend(basic)
geometry:   pc(pc105awide)
Error loading new keyboard description
Offline
  • 0
  • Reputation: 214
  • From: Viken, Norway
  • Registered: 13-Dec-2006
  • Posts: 5,364

Try using the setxkbmap shell command instead of setkb.sh if you want to specify model and layout explicitly like that.

The options component (for Extend) should be okay, as long as you don't reset it. Setting model and layout doesn't affect the options.

Last edited by DreymaR (24-Jan-2024 15:25:10)

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

Offline
  • 0
  • Reputation: 1
  • Registered: 16-Jan-2024
  • Posts: 4

I'm not sure I understand, but I tried

setxkbmap -model "pc104_angle" -layout "us(tarmak2c_et)"

and it didn't seem to work (said "error loading new keyboard description.

Offline
  • 0
  • Reputation: 214
  • From: Viken, Norway
  • Registered: 13-Dec-2006
  • Posts: 5,364

Your syntax seems off?

https://github.com/DreymaR/BigBagKbdTri … evdev#L605
As you can see, the model is named 'pc104angle'. You have an underscore there.

https://github.com/DreymaR/BigBagKbdTri … 14-L990C25
The layout name is 'tarmak2c_et', so that seems right.

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

Offline
  • 0
  • Reputation: 1
  • Registered: 16-Jan-2024
  • Posts: 4

Thanks for all your help, unfortunately still struggling. Setxkbmap with -model "pc104angle" works without an error, but if I add -layout "us(tarmak2c_et)" or run that separately it fails to generate the keyboard.

Offline
  • 1
  • Reputation: 1
  • Registered: 15-Jul-2024
  • Posts: 3

I'm new to Linux but I can't use any other computer without the layout and extend layer of DREYMAR'S BigBag!!

the problem is I read the instruction and comments on https://dreymar.colemak.org/ But still hasn't been able to get the same layout I use on windows to work on linux

This one: https://imgur.com/a/I3jmjrz

Offline
  • 0
  • Reputation: 1
  • Registered: 15-Jul-2024
  • Posts: 3

I'm new to Linux but I can't use any other computer without the layout and extend layer of DREYMAR'S BigBag!!

the problem is I read the instruction and comments on https://dreymar.colemak.org/ But still hasn't been able to get the same layout I use on windows to work on linux

This one: https://imgur.com/a/I3jmjrz

Any help would be appreciated!!!

Offline
  • 0
  • Reputation: 214
  • From: Viken, Norway
  • Registered: 13-Dec-2006
  • Posts: 5,364

Hi, DreymaR here!

You know that this forum thread is not very current, right? But I can answer here, nevertheless.

Looks to me as if what you want is an ANSI Colemak-DH matrix (no ergo mods), with Extend. I will assume that you have read all the good arguments for using ergo mods with the layout unless you're on an actual column/matrix keyboard, as found on the Community page.

So what you're after is a simple "4c us us" shortstring for the setkb.sh script, if you can use that. Or just the us "cmk_ed_dh" layout, plus the Extend options.

But you didn't tell us much about what you're using. Some Linux distros these days use Wayland and can't use the setxkbmap command which the setkb script produces. Then you have to figure out which Composer your Wayland uses, and write its settings accordingly. There are some examples in the repo readme.

https://github.com/DreymaR/BigBagKbdTrixXKB

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

Offline
  • 1
  • Reputation: 1
  • Registered: 15-Jul-2024
  • Posts: 3
DreymaR said:

Hi, DreymaR here!

So what you're after is a simple "4c us us"

First of all I want to thank you for creating this piece of software. I'm always having fun using your version of colemak. Everytime I boot my computer the first thing I do is power up EPKL on windows and it fills me with such joy for how easy, clever and practical your extend layer is.

Secondly thanks for helping me with the problem on linux. I wanted to use linux a long time ago but I could NOT go back to qwerty and I couldn't use the normal colemak without your extend layer. But now I can finnaly switch to Linux Mint and use it without sacrivaicing your beautiful layout. I COULD FINNALY USE IT ON LINUX MINT


Okay. I'm... really surprised! Out of all people who could've answered me. it was you DreymaR! I'm speechless, I didn't even believe it was you... I'm really a huge fan of your program and the modifications you did on the colemak layout and the Extend layer. From the first time I used it I couldn't believe how much I lived with qwerty my whole life. I want to thank you for helping, I'm really in awe from this reply thanks for taking time to answer my question. I really appreciate it


sorry for bad English.
❤️ from Kingdom of Saudi Arabia

Offline
  • 1
  • Reputation: 1
  • Registered: 17-Dec-2024
  • Posts: 2

Hi, I am new to linux and have installed debian 11 and I don't understand how to setup colemak dh. I have installed the repository and I have the files listed-

ak@debian:~/colemak-dh$ ls
console            install-dreymar-xmod.sh  setkb.sh
docs_dreymar-xmod  LICENSE.md               xkb-data_orig
dreymar-xtools     README.md                xkb-data_xmod

I used the install one first and I don't understand how to use the setkb.sh file, I use a 104key keyboard namely G512 SE and I want to use colemak-dh.

Offline
  • 0
  • Reputation: 1
  • Registered: 17-Dec-2024
  • Posts: 2

Hey, I just entered this in the terminal line- (In the colemak-dh folder.

bash setkb.sh -m pc104angle -l "us(cmk_ed_dh)"

And then I set it to permanent by-

sudo localectl set-x11-keymap us pc104angle cmk_ed_dh

And now I am running colemak-dh! Thanks for this program! It made everything so easy.

Offline
  • 1
  • Reputation: 214
  • From: Viken, Norway
  • Registered: 13-Dec-2006
  • Posts: 5,364

If you want to use the magic of Extend with that, you'll need a little more options selected. But I'm glad that worked for you!

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

Offline
  • 0