• You are not logged in.

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

  • Started by DreymaR
  • 384 Replies:
  • Reputation: 11
  • Registered: 06-Jun-2013
  • Posts: 551

hey D

you have just saved my bacon!

all works now, I just hadn't spotted those naming changes

now i made to get hy meav rounv tme cmanges

Offline
  • 0
  • Reputation: 11
  • Registered: 06-Jun-2013
  • Posts: 551

Even though there is the ZXCV option I take it ZXCD is considered to be the done thing now?

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

*laughs at tme dery ahusing histakes* :-D

The normal Angle(Wide) mods are still around. For one, they're needed for non-Curl-modders! And yes, the new mod is on the front page henceforth.

I just found something strange in my setxkb.sh script that might lead to Curl models being negated. I'll push a fix right away, see if it works please. No idea how you made it work in its current state – did you use setxkb.sh with a CurlAngle model, or just /etc/default/keyboard?

Last edited by DreymaR (05-Jul-2017 12:35:09)

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

Offline
  • 0
  • Reputation: 11
  • Registered: 06-Jun-2013
  • Posts: 551

i didn't explicitly run

setxkb.sh

these are the steps I took:

1. Get latest version of Dreymars Big Bag from github
   

cd ~/Dropbox/colemak
   git clone https://github.com/DreymaR/BigBagKbdTrixXKB.git

2.

cd ~/Dropbox/colemak/BigBagKbdTrixXKB

3.

sudo bash ./install-dreymar-xmod.sh -ox

4. edit

/etc/default/keyboard

to look like this:

# KEYBOARD CONFIGURATION FILE

# Consult the keyboard(5) manual page.

# XKBMODEL="pc105"
XKBMODEL="pc105caw-sl"
XKBLAYOUT="gb"
XKBVARIANT=""
XKBOPTIONS="misc:extend,lv5:caps_switch_lock,grp:shifts_toggle,compose:menu"

BACKSPACE="guess"

5. reboot machine (NB this is important - will not work otherwise)
6. Select English(Colemak[Ed],Curl-DH ergo mod) from dropdown top-right or from settings-keyboard

As I said, the problem I was having was not picking up the wide angle mod

Do you want me to reclone with git and go through the process again?

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

Nah, don't bother unless you really want to. :-) The error was in setxkb.sh so you circumvened it. But be aware that selecting a CurlAngle model using setxkb.sh with the unupdated patch probably won't work.

With setxkb.sh you don't have to reboot the machine; with /etc/default/keyboard you do. Logging out and back in might be enough.

*** 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: 28-Aug-2017
  • Posts: 2

@DreymaR, have you think about how to evolve extends to adapt it to the incoming UHK keyboard ?  UHK have a split space bar and two additionals so called "mod" keys on the frame. Each key are independently reprogrammable. That should open some new perspectives to the extends layout in particular for people that prefer a thumb key instead of the caps-lock key to switch to extends.

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

Split and multiplied space bars are nice! But I haven't though about what to use them for, specifically. Myself, I'll likely keep plonking away on my laptop board as before.

I mean, yes – I'd consider using the "mod" keys for Extend layers. In my dream setup, there are two such keys and combinations of them can bring up 3–4 Extend layers (while holding either will maintain that layer). On a normal board I'd use LAlt and RAlt in combo with Caps, but obviously it's easier to just hit mod#. :-)

For the split Space itself it's likely you want Enter or Shift in the ground state but I suppose that if you want many Extend layers (hotstrings galore or something!) you could chord further. It hasn't been implemented yet though.

Maybe stevep99 has an opinion on this?

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

Offline
  • 0
  • Reputation: 117
  • From: UK
  • Registered: 14-Apr-2014
  • Posts: 975

I like the look of the UHK. It looks similar to my Ergo Pro, except that is fully programmable, and looses the dedicated function keys, making it a bit smaller and more portable. On the down side, the UHK is more expensive than the Ergo Pro.

The UHK has even more options for thumb keys, since in addition to splitting splitting the space bar, it also has Fn keys between Alt and space on each side. I don't know if these Fn keys fully programmable also, but I think the left Fn key is an excellent Extend candidate. If not, then left-space would also be a very good option. On this keyboard, either of those options for Extend beats CapsLock in my opinion, but the only potential hazard is, once you get used to it, what happens when/if you need to revert back to standard keyboard.

The fastest way to get it to work with DreymaR's existing stuff would be to configure the UHK to send the CapsLock scancode when Fn or left-space is pressed. Then Extend would Just Work for that key. But serious UHKers might want to configure everything directly in the firmware I imagine. I don't know how easy to do that is though, especially when it comes to features like Extend-S for shift etc.

On the UHK I'd probably have something like:
Left-Fn  -> Extend
Left-space  -> AltGr
Right-space  -> Space
Right-Fn  -> Shift

Last edited by stevep99 (29-Aug-2017 10:58:16)

Using Colemak-DH with Seniply.

Offline
  • 0
  • Reputation: 0
  • Registered: 28-Aug-2017
  • Posts: 2

The UHK also provide two supplemental programmable keys directly on the keyboard frame, below the split space bar.
IMHO this is a killer because it multiply the options: counting the caps lock, the left space-bar, the left frame button and the right frame button this is already 4 buttons available without touching neither Shift, Ctrl nor Alt.

The programming of this keyboard is extremely simple, their software named "Agent" is very visual and ergonomic. You can give it a try here: http://ultimatehackingkeyboard.github.io/agent

I think that absolutely every key are re programmable. Keys can even have dual function: Emit a normal char when pressed and released alone or a act as a modifier key when pressed along with other keys.

I have no doubts that key-layout expert can bring some magic to this fantastic incoming keyboard. The only thing that I am concerned about is the limited number of layout this keyboard is supposed to support : 4 (it seems to my that its a bit short).

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

If you wish to continue this discussion, could you please do it in a dedicated topic or at least the Extend topic? This one's a mess already for sure, but on the off chance that someone other than myself wishes to prowl through it sniffing for Big Bag (XKB) issues, I'd much prefer the bulk of the posts in this topic to be about those. ;-)

Last edited by DreymaR (30-Aug-2017 08:17:36)

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

Offline
  • 0
  • Reputation: 210
  • From: Viken, Norway
  • Registered: 13-Dec-2006
  • Posts: 5,343
UPDATE 2017-09-28: New Big Bag Main Topic!

As you can see from the updated first page, I've finally separated most of the discussions from most of the implementations. Up until now, the PKL and USB topics were proper implementation topics that focused on platform specific issues, but this topic was a veritable TL;DR mess of intermingled generic and XKB stuff.

So hopefully, this'll aid readability and navigation a bit. But it's still more than long enough, and not all that easily manouverable. Next step should be to make a properly hypertextual presentation of all things Big Bag, probably as GitHub pages.

Meanwhile, if you have any feedback on the new topic or the changes to this one, please let me know! :-)

Last edited by DreymaR (28-Sep-2017 12:39:33)

*** 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: 07-Apr-2014
  • Posts: 5

I have finally gotten around to modifying my own colemak variant to bring oft used programming symbols closer to home on level 3 (AltGr) and to test out a number keypad on level 3 too.

I have also started testing the basic extend layer, from which I have removed all the mouse commands since I have a trackpoint, only now I realise that I should deactivate or reassign all those keys so that I don't type random stuff when using the extend layer.

I do like the new install scripts, and the fact that I can install/test layouts without rebooting each time as I did before. I couldn't find the mapping for PrintScreen on RTRN in files on github - though I wouldn't use it.

I am toying with the idea of using CapsLock as a toggle for the extend layer. In other words, one press activates, another deactivates. But that would only be usable if I can use the CapsLock LED to indicate the activation of Level 5+. I've discovered how to make it a toggle, and how to deactivate the mapping CapsLock+Esc => CapsLock. I never use CapsLock.

Any pointers on how to use the CapsLock LED?

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

Yeah, I'm not sure where the PrintScreen went; it's supposed to be there but I never used it. Good catch.

I've toyed with the idea of a layer toggle too, but I think it's overmuch to have it on CapsLock. My idea was to use Shift+Caps for that! So that if you just press Caps it'll work as a switch (shift-type modifier), but if you press Shift then Caps it'll toggle the layer lock on/off.

No solid pointers on the LED, no. I've wondered about the same thing, maybe use the ScrollLock LED for something! But there's this hint in the evdev rules file:

! option	=	compat
  grp_led:num		=	+lednum(group_lock)
  grp_led:caps		=	+ledcaps(group_lock)
grp_led:scroll = +ledscroll(group_lock)

So look for lednum/ledcaps/ledscroll files, and see what they do in there. They aren't in my repo since I haven't used them.

Last edited by DreymaR (11-Apr-2018 14:52:51)

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

Offline
  • 0
  • Reputation: 15
  • Registered: 12-Sep-2016
  • Posts: 45

I have some information on changing the LED. The most straightforward way is to change the file 'compat/ledcaps' and change the line

modifiers= Lock;

to

modifiers= mod3;

in the entry of 'caps_lock'. You can find more information here. It should be possible to use LevelFive instead of mod3, but that doesn't behave well. (It does work for LevelThree.)

Create advanced keyboard layouts in various formats using my Keyboard Layout Files Creator!

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

Maybe LevelFive isn't properly defined as a virtual modifier or something?

*** 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: 07-Apr-2014
  • Posts: 5

Modifying compat/ledcaps putting

modifiers= mod3;

did exactly what I want.

So now I can set CapsLock as the extend toggle and have the capslock LED show when it is activated. Buuut, it doesn't feel right to toggle the extend mode all the time. Holding extend with a pinky on capslock seems more natural. I'll leave the LED on mod3 just in case I accidentally toggle the extend layer one day. My capslock LED is physically on the capslock (extend) key, so I'll understand right away what it means.

Offline
  • 0
  • Reputation: 117
  • From: UK
  • Registered: 14-Apr-2014
  • Posts: 975
jpeg729 said:

I have also started testing the basic extend layer, from which I have removed all the mouse commands since I have a trackpoint, only now I realise that I should deactivate or reassign all those keys so that I don't type random stuff when using the extend layer.

I also took out the mouse-movement functions from my Extend layer - they have been moved to Extend2. My Extend layer currently looks like this (except the Extend key is actually LeftAlt instead of CapsLock):
extend_layer_dh.png

jpeg729 said:

I am toying with the idea of using CapsLock as a toggle for the extend layer. In other words, one press activates, another deactivates. But that would only be usable if I can use the CapsLock LED to indicate the activation of Level 5+. I've discovered how to make it a toggle, and how to deactivate the mapping CapsLock+Esc => CapsLock. I never use CapsLock.

I went through a phase of thinking an Extend toggle would be nice, but in the end decided it's totally unnecessary. Especially now that my Extend key is mapped to Left Alt. Being accessible via a thumb makes it no effort at all to hold down, and still reach every key in the main body. Although, this might depend on the positioning of LeftAlt on your keyboard as it does vary a bit.

Last edited by stevep99 (12-Apr-2018 10:27:04)

Using Colemak-DH with Seniply.

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

Why did you remove forward Delete? It's very useful.

Again, I'd put a toggle on Shift+Extend or AltGr+Extend instead of unmodified Extend. Solves both the wish for a toggle and the need for a switch.

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

Offline
  • 0
  • Reputation: 117
  • From: UK
  • Registered: 14-Apr-2014
  • Posts: 975
DreymaR said:

Why did you remove forward Delete? It's very useful.

Delete is Extend-O
Backspace is Extend-H

Backspace on H is nice, and it reminds me of the old ^H^H^H joke.

Using Colemak-DH with Seniply.

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

OIC! That's silly^H^H^H^H^Hinteresting!

(You might use another symbol like U+232B in your image to make it even clearer?)

Last edited by DreymaR (12-Apr-2018 12:34:22)

*** 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: 09-May-2018
  • Posts: 1

Hi DreymaR,

Thanks for the great extended key mapping -- I'm addicted!  I tried it out today on Windows and it worked great but then I had to have it too on my Ubuntu Mate 18.04 box.

X-windows will crash if I enable the Layout  >> Option >> Colemak Curl(DH) ergo mode.

When I first enabled the layout Capslock wasn't acting as the Extend key and it seemed from the docs that I needed to enable an extra Keyboard Layout Option.  I first saw "Enable level5 Extended mappings (home position arrows etc)" and that didn't work so then I tried "Colemak Curl(DH) ergo mode" which instantly gave a black screen which I couldn't recover from.  I had to Ctrl-Alt-F1 to get into a terminal and then run "sudo bash install-dreymar-xmod.sh -r 1; sudo killall lightdm" to get X-windows back so it wound't crash.

For more detailed info, here's what I did:

# Install Ubuntu Mate 18.04 (it is great) with default layout of "English (US) English (Colemak)".
sudo bash setxkb.sh 4a us us  # I wished I didn't do this as I thought it doesn't backup...
sudo bash install-dreymar-xmod.sh -ox -- 4a us us
sudo reboot
# login
# Use keyboard app to select layout
# add "English (US) English (Colemak[eD] - edition draymaR)
# use switcher to change to above layout
# Capslock didn't work
# Turn on Layout  >> Option >> Enable level5 extended mappings... # didn't help
# Turn on Layout  >> Option >> Colemak Curl(DH) ergo mode # crashes immediately with black screen

Any help would be appreciated.

Thanks,

Glen

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

Oh dear.

Firstly, does your way of passing the layout string work? I'd use

-ox "4a us us"

I'm not familiar with the double-dash syntax.

Now. To be on the safe side, I'd use the setxkb.sh ability to write a line into ~/.bashrc instead of selecting options in the GUI for now. That way, you can always unbork things more easily.

To activate Extend two steps are necessary: Activating the lvl5 layers and choosing a lvl5 modifier. You've done only the first from the looks of it. The two steps are necessary so that people can choose which key to use for their modifier.

Did you read this part of the Big Bag?

DreymaR's BBoKT-XKB said:

HowTo:
To get the Extend mappings to work in xkb, you need two things:
• Set the 'misc:extend' xkbmap option (see below for setup info), and
• choose a modifier key to switch to level5; I've added a 'level5:caps_switch_lock' option to use the Caps key.

Why everything crashed for you is a more worrying matter. Not sure... But could use use a Curl layout instead of the option? There should be Curl layouts under US English.

Last edited by DreymaR (11-May-2018 09:52:16)

*** 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: 18-May-2018
  • Posts: 5

Hello, first of all an appreciation and admiration to DreymaR for all the work around colemak, it was a strong factor in my decision to start using this layout 2 months ago.

Here is my current situation:
I'm using Linux laptops at home and at work, both use XFCE as desktop environment.
I got a programmable 60% mechanical keyboard from AliExpress, which was set up with standard Colemak layout (the ISO variant with 2-row Enter key).
Using qmk software and the quickie forum thread (separate thanks for that) - I have enabled the extend layer, and loving it.
Also on 60% layout it's kind of mandatory as otherwise no physical arrow keys exist...


Now 2 questions:
1. For those cases when I am lazy to carry the custom keyboard to/from office - how can I have the Extend layer, but with possibility to switch to qwerty, for wife/colleagues to be able to use the computer.
2. How to include the hebrew layout (either default or Colemak'ed) ?- I rarely need it, so didn't bother to touch-type it.

Again, thanks a lot for all this wonderful work.



PS: the keyboard was 80USD with free shipping. My first mechanical one.

Offline
  • 0
  • Reputation: 14
  • Registered: 01-Apr-2018
  • Posts: 115

I've wondered about that second one myself, and haven't found a clean QMK solution, but I do know that Unicode support is built right in. Here's one example of someone trying to do the same: https://github.com/qmk/qmk_firmware/issues/86

Outside of QMK, setxkbmap is what you're looking for. There are also a number of GUI options that allow you to switch layouts quickly using a key combination, and if you can't find something specific to XFCE (though I believe it can already do this out of the box), all you would have to do is bind a key combo to a setxkbmap command using the settings manager. It's very versatile that way!

Last edited by azuvix (19-May-2018 00:51:56)
Offline
  • 0
  • Reputation: 0
  • Registered: 18-May-2018
  • Posts: 5
azuvix said:

Outside of QMK, setxkbmap is what you're looking for. There are also a number of GUI options that allow you to switch layouts quickly using a key combination, and if you can't find something specific to XFCE

thanks for response. Before the programmable keyboard arrived I was using 3 layout setup: English(US)/Hebrew/English(Colemak) changing between them with LAlt and LShift to mimic the language switch on windows.
Can still do this, but then I'm out of Dreymar's Big Bag :( and whenever new application opens it takes the qwerty layout (especially irritating when opening 20 ssh sessions to remote servers).

So I need to figure out the way to enable all 3 layouts using setxkbmap...

Offline
  • 0