• You are not logged in.
  • Index
  • Technical
  • Layout pc104caw-zqu creates strange keyboard mapping

    Layout pc104caw-zqu creates strange keyboard mapping

    • Started by slipsnip
    • 15 Replies:
    • Reputation: 0
    • From: Canada Eh?
    • Registered: 08-Aug-2020
    • Posts: 18

    UPDATE: I managed to see my failure, I missed putting -variant colemak as well as option misc:cmk_curl_dh.  In my question I see now that I should have provided the full command I used instead of just refering to pc104caw-zqu as without this  information or what the actual mapping I was getting, it was hard for anyone to help.  With this command I have fixed the problem:

    setxkbmap -model pc104caw-zqu -layout us -variant colemak -option lv5:caps_switch_lock,misc:extend,misc:cmk_curl_dh -v 9

    Then I set the active layer on my keyboard to qwerty.

    [Solved]


    I tried replying directly to "DreymaR's Big Bag of Keyboard Tricks (Linux/XKB files included)!" guide, however, it seems to have not gone through.  I cannot seem to get pc104caw-zqu to work on my Arco Linux B (Xmonad edition).  I have installed DreymaR's XKB scripts system-wide using the included installer script for bash, as well as the system setxkbmap with no joy.  The keyboard mappings do change but not at all to what I would expect and different than the guide images.  Not entirely sure what I am doing wrong as I also tried xfce4-keyboard settings although I use Xmonad window manager, that GUI was installed.  I see all the layouts added on the list.

    I have a ANSI PC104 (WASD Version 3) keyboard currently programmed with Colemak-DH.  I would like to use the wide-angle mod as well more importantly the Extended layout mod.  Not sure why XKB would be causing me problems, even if I could only get the extended to work I could manually program the keyboard for wide, not sure even now to get extended as I also tried the included setxkb script with the -option misc:extend.

    If someone could guide me as to how I can approach solving this problem it would be greatly appreciated.

    Last edited by slipsnip (14-Sep-2020 18:20:23)
    Offline
    • 0
    • Reputation: 136
    • From: Oslo, Norway
    • Registered: 13-Dec-2006
    • Posts: 4,889

    Glad you figured it out!  ∩(●'‿'●)∩

    So, what you did there is to use the vanilla Colemak layout (not my [eD] mappings for lv3–4) but with CurlAngleWide (CAW) and Extend. That's what you wanted?

    Last edited by DreymaR (20-Aug-2020 13:09:27)

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

    Offline
    • 0
    • Reputation: 0
    • From: Canada Eh?
    • Registered: 08-Aug-2020
    • Posts: 18

    Time past as it often does on Earth and I forgot about this post after solving it, sorry for the late reply.  My intention was to experience both your Extended layout in addition to the wide mod.  I had many problems getting the correct command and it was not until I added -variant colemak that I got it working.  I was thinking if I switch my keyboard to a standard QWERTY layout and then apply the command, then I would not have to bother manually reprogramming my keyboard every time I wanted to try another mod.  When I put my keyboard into layer 1 which is factory QWERTY and used a variety of commands I cobbled together reading your Bag of Tricks, it seemed that the mapping I would end up with did not match with the layout I wanted (Colemak-DH wide)  Some keys were correct while others were not and it was impossible for me to type anything, so I would reboot and switch back to my Colemak-DH Standard ANSI layer so that I could type.

    I did try the Extended (I found that it was a bit different than the pictures and I think that is because of the Wide mod plus the ANSI) but I could figure some things out, for example the function keys did not control, play, pause, volume... and I could not figure out how I would use other CTRL combinations other than cut, cop and paste.  I determined that this layout was not good for me, at least I could not see it being useful nore figure out where all the extended keys were located. 

    I tried the wide layout and it was very cool however I thought to myself, when I get a Job how would I get this custom colemak.  I learned from your guides that there are expensive USB dongles / devices that can sit between a standard keyboard and the computer, and then I could use your BBoT however I already dropped nearly 300 CDN on this keyboard.  If a employer would permit me to use such a device, they would probably permit me to bring my own keyboard.  If they allowed instillation of the executable from colemak.com (perhaps they know its safe) would they also permit the install of your EPKL for Windows (as I am sure they would be using windows) I know its safe and the source code is right there on github but I am not sure if employers would trust it. 

    I tried manually programming the wide dh version of Colemak into my keyboard but it was more complicated to program and so I ended up just going back to Colemak-DH without the wide mod via my programmed layer on the keyboard.  So at least for now I am using Colemak-DH and loving it.  Managed to get up to 58 wpm once on nitrotype but usually end up with a score much closer to 50 which is 10wpm faster than my max Qwerty speed ever was, and I am even getting an average of 97% accuracy.  So I am happy for now.  I very much appreciate all of the work you put into your Big Bag of Tricks and how knowledgeable you are with everything keyboards.

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

    Hmmm. It still seems to me that you did a couple of things wrong, and didn't read the fine print. There's a lot of fine print so I guess that's understandable.

    The Multimedia keys send multimedia key presses, just like a multimedia keyboard would. But if the OS isn't configured to do anything with those, nothing will happen. Windows generally uses most of the MM keys, whereas many Linux distros tend not to but you're free to bind any action you see fit to those key presses.

    For my layouts, you should preferably use my variants like the setxkb.sh script does. These variants aren't 'colemak' but 'cmk_ed_us', for different locales.

    To see where the keys end up, you can look at my many many help images in the BigBag. You just have to understand which ergo mod you're using, to get the right images for you. Windows users have the added benefit of EPKL on-screen help images.

    For the workplace scenario, indeed a USB-2-USB QUICKIE is equivalent with any USB keyboard as far as an IT department should be concerned. They can check that it adheres to the USB HID protocol. The same goes for a programmable keyboard, so yes – you can use any keyboard with a QUICKIE or any programmable keyboard. Depends on what you have.

    Running the layout installer from the Colemak site isn't really any safer than running EPKL, although the latter may give protection software warnings due to the presence of Autohotkey code with key hooks. These tools could be used to write malicious code, so some software gets overprotective about it. If you wish to run EPKL at a workplace with a worried IT department, you could ask whether they are familiar with AHK (Autohotkey) and show them that my code is compiled AHK code. The compiler I use is the one you get from the AHK site, and all my code is open and well commented.

    Last edited by DreymaR (03-Sep-2020 12:42:14)

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

    Offline
    • 0
    • Reputation: 0
    • From: Canada Eh?
    • Registered: 08-Aug-2020
    • Posts: 18

    Thank you for your awesome level of support, I very much appreciate it.  This is good news on the job front as I was starting to wonder about how a workplace would handle the situation of me not being QWERTY compatible.  I probably did do many things wrong and definitely do not blame your work in any way, I probably need to read it again, your very thorough and there is a lot to read and process.  That is a good thing as I am technically inclined myself though xkb still confuses me.  Initially I did use your shell script and I remember being confused as to what layout to pick, I settled on pc104caw-zqu being most likely what I was after, but for some reason whatever arguments I gave to the script I ended up with a very strange mapping.  The media keys were just an example ot a few keys that did not seem to work for me.  I run ArcoLinux with Xmonad as my window manager and have multimedia keys mapped to amixer and using Fn Pg Up and Pg Down on my keyboard I can adjust volume so its not really a problem but something I thought could be handy by just pressing a function key instead of two keys.  I should have taken notes on which keys on Extended that I could not figure out as the information I have provided here is not really enough to diagnose where I went wrong.

    I will give this another shot in the not too far off future, though currently I need to focus on my programming and a project I committed to.  At which point I could open a new thread with better documentation on what I tried, what did not work and the steps I took.  Once again Thank you for your support and for all of your hard work.

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

    XKB confuses just about everybody. It's not just you, friend.  ( のvの) c[_]

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

    Offline
    • 1
    • Reputation: 0
    • From: Canada Eh?
    • Registered: 08-Aug-2020
    • Posts: 18

    Today I gave this another shot.  Was not sure weather to start a new post or continue with this one, I chose the latter.  What I want is the Colemak-Curl(DH)-AngleWide I believe it is called on a ANSI PC 104 Keyboard.  I would not mind giving extended another go.  Reading through the BBoT I have gotten confused with the terms AltGr, variant and LTGT confuse me, is AltGr the right Alt key?  Is LTGT referring to the keys '<', '>' ? and would not mind some clerificaton on this. 

    I used your install script `install-dreymar-xmod.sh` with the -ox option.  I followed this up with a

    setxkb.sh -m pc104curl-z -o 'misc:cmk_curl_dh'

    and took a screen shot after typing the keys from each row to show the mapping I got. keyboard.png 

    I am confused as to what command options to use to achieve Colemak-Curl(DH)-AngleWide on a ANSI.  I am running ArcoLinux.  Any guidance would be appreciated.  I hope I have provided sufficient information when coupled with the image at https://i.ibb.co/fvGb1f0/keyboard.png

    Offline
    • 0
    • Reputation: 74
    • From: UK
    • Registered: 14-Apr-2014
    • Posts: 773

    No doubt DreymaR can give you more details shortly, but it looks to me like you have the (no) setting i.e. Norwegian symbols. You probably want US there.

    AltGr is indeed RightAlt, on ISO keyboards it's labelled AltGr and in most European countries is used to type unusual symbols/characters.

    LTGT confused me too, it's not a very good name really. Some countries have < and > on the same key, but this is not universal. In the UK for example that key is labelled "\|".

    Last edited by stevep99 (12-Sep-2020 12:09:54)

    Using Colemak Mod-DH with some additional ergonomic keyboard mods.

    Offline
    • 1
    • Reputation: 136
    • From: Oslo, Norway
    • Registered: 13-Dec-2006
    • Posts: 4,889

    The name of the ISO specific key is <LSGT> for Less/Greater than, not LTGT. I think it's a better name than VK_OEM_ISO_102, after all.  ¯\_(ツ)_/¯

    Your rerunning the setxkb.sh script seems superfluous and lacking at the same time? If you ran the install script with -xo, it already ran setxkb.sh for you and you should have the layout you want! On the other hand, if you want to make the layout settings permanent over restarts you should have a setxkbmap line somewhere, which setxkb.sh can do for you with the -a switch. Did you run setxkb.sh with a help switch (-h) first? Or look inside the script to see what you should do?

    I'd prefer using a shortstring myself. Say, for Colemak-CAW (CurlAngleWide) on ANSI, it's '4cw' and for the US standard layout it's 'us us', so it becomes:

    setxkb.sh -a "4cw us us"

    At least I think that'd work for you. Did you also look at the setxkb.sh examples in the Big Bag XKB topic?

    A layout variant can be one of several defined layouts in each layout locale file. Say, for the symbols/us (USA) file there's a bunch of variants inside it one of which is Dvorak and another of which is Colemak. With my stuff installed, there's also a cmk_ed_us variant that's my Colemak[eD]. There are such variants for a bunch of locales. For the US locale, there are also other variants like the Tarmak learning layouts, but you probably don't want to fiddle with those. The above line should get you the cmk_ed_us variant of the US locale, which is what I think you wanted. (Not the Norwegian layout, as SteveP pointed out you got by not specifying a locale/variant.)
      ( のvの) c[_]

    [Edit:]

    BBoT XKB said:

    Example: Using a CurlAngleWide "model" with setxkb.sh
    • These two examples both activate the PC105-Curl(DH)AngleWide mod.
    • The shortstring line will not change the active layout (apart from the Curl mod); the other line will use the setxkb.sh default layout.
    • This is useful if you don't want to edit the files. Curl affects only the first/main layout, but will mess up any non-Cmk layouts in the GUI.

    $> ./setxkb.sh 5cw
    $> ./setxkb.sh -m pc105caw-sl -o 'misc:cmk_curl_dh'

    Ah, yes, I see now what you did. You tried out one example from the BBoT but didn't read the fine print. See, you got the setxkb.sh default layout by following the second example, as I promised, but you didn't want that I think as it's the Norwegian Colemak[eD] layout?!

    Last edited by DreymaR (12-Sep-2020 17:25:44)

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

    Offline
    • 1
    • Reputation: 0
    • From: Canada Eh?
    • Registered: 08-Aug-2020
    • Posts: 18

    Thank you both for your help and patience. 

    TLDR: Your command worked, I added -f ~/.zshenv to make the -a flag modify my zsh environment

    Now I understand the AltGr , to confirm the <LSGT> key is the backslash pipe symbol on my keyboard above the enter, or it is only present on ISO keyboards?  I feel that I am a huge bother with all these questions that are probably already documented in your BBoT and other documentations you wrote.  I noticed these keys mentioned and
    lacked the knowledge of what they are.

    What follows is a insight into my crazy thought processes.

    Still trying to learn and make sence of this all.  I looked again at the BBoT (Linux XKB) Document and see now

    • Activate a French "UniSym" layout (at the moment, the default layout is my Norwegian Cmk[eD]...).

    that the default layout is Norwegian Cmk[eD], indeed I do not know this language and now understand I need to set
    the us locale.  After running the setup script with the -ox arguments I believe it was set pc105caw-sl, I noticed the
    pc105 and I have the pc104.  When I tried typing on it, I remember it not matching my expectations.  And for good reason
    as I can see with the help flag, I could have added the short string to the end to specify my intent.  Much of my contusion
    I believe was figuring out what short string to use.  A while back when I had some failed attempts I read the part on Short String
    syntax and had tried a few, cannot recall which, that did not work.  I think this is why I went with the longer forum of specifying
    the model, options and yet again forgetting variant.  I did see the setxkb example but seen pc105 which steered me away thinking
    this was only for a ISO keyboard.  The picture for the Colemak Curl(DH)AngleWide seemed to be what I wanted except I wanted my
    Z key to be where the CE is, and that it was a picture of an ISO keyboard.

    xkbset.png

    In either case it is working now and I am happy, now I must take time to learn the extended, which I understand you have a dedicated document for this as well.

    Offline
    • 0
    • Reputation: 0
    • From: Canada Eh?
    • Registered: 08-Aug-2020
    • Posts: 18

    I have just noticed that the = key that gets moved as part of the wide mod, on 4cw is placed between 6 and 7, while in the picture for

    ANSI wide: Colemak-DH for an ANSI keyboard, in a "wide" configuration.

    at colemakmods.github.io it is placed between 5 and 6. I can see from the image for

    The Colemak Curl(DH)AngleWide, a.k.a. Colemak-CAW, ergo modded layout.

    It is correct,  I can train myself to learn how to hit these keys but wounder about which Short String code would produce it as seen on colemakmods as I think I would prefer that.  I am thinking that I would have to go the route of

    If you wish a "harder" solution, you can edit the xkb/symbols/colemak file, uncommenting the mod lines you want.
        These are found in the xkb_symbols "cmk_ed_letters" partial, so they affect all locale variants, Tarmak etc. – but not non-Colemak layouts.

    as documented as per section 2.2 would this be correct?

    I see in Colemak mods [downloads]<br>

    Linux: XKB files

    Mod-DH is now supported by DreymaR's Big Bag of Keyboard Tricks.

    This is the recommended way to install Mod-DH in Linux. To enable it, edit the symbols/colemak file as mentioned in this Colemak forum discussion. The source files are in DreymaR's downloadBigBagKbdTrixXKB repository.

    perhaps this is what I need to do if I choose to swap the = and 6 keys

    Last edited by slipsnip (12-Sep-2020 23:18:04)
    Offline
    • 0
    • Reputation: 74
    • From: UK
    • Registered: 14-Apr-2014
    • Posts: 773

    Yes, the equals key issue has come up before. I think it's really personal preference so people should use whichever they prefer. The default in the Big Bag is to have = between 6 and 7, but when I created those images on the Mod-DH site, I put it between 5 and 6 as that's what I used at the time. I don't think I even realised it wasn't the same as DreymaR's until later. Technically 6 is nearer the left-hand, so if think you type 6 more equals that option might be better, but on the other hand (excuse the pun), some people like to have 5 numeric keys on each side.

    Now I have a split keyboard so I don't use the wide mod any more. But interestingly, there is not much consensus even in the hardware split designs. For example, my Matias Ergo Pro has 6 on the right, whereas the Ultimate Hacking Keyboard has 6 on the left.

    As an aside, I think it's also a viable option to not apply the wide mod to the number row at all, and keep that row default. That might not be a popular opinion though, as you'd have to relearn finger assignment for the right hand numbers. If I was using the wide today, that's what I would do - and then mostly type numbers using my virtual numpad layer.

    Edit: The UHK people discuss the 6 key location here.

    Last edited by stevep99 (13-Sep-2020 11:58:09)

    Using Colemak Mod-DH with some additional ergonomic keyboard mods.

    Offline
    • 1
    • Reputation: 0
    • From: Canada Eh?
    • Registered: 08-Aug-2020
    • Posts: 18

    Thank you stevep99 that explains it quite nicely and the link was also helpful.  Now I understand it I think I will train myself to keep it as is.  It seems it is a topic all in itself, while I was thinking it was a mistake, it seems a conscious choice based on country of origin, the physical hardware and personal preference.  Your Mattias Ergo Pro looks mighty fine and now this is going off topic and into realm of preference, how reliable is that connection between the two half's of the Mattias, , are you happy with your keyboard choice?  If you could time travel would you purchase the same keyboard or a different one?  Sorry for going off topic, I wonder about these types of keyboards, was actually considering a ErgoDox but it was out of my price point, though after buying the latest WASD offering and the accumulated costs after shipping and duty fees, I probably could have just got one of those.  There is probably many discussions here and elsewhere that I should search for to get my answers.

    Offline
    • 0
    • Reputation: 74
    • From: UK
    • Registered: 14-Apr-2014
    • Posts: 773

    I am pretty happy with my Ergo Pro, certainly in regard to the design at least. It's comfortable to type on and feels solid.  It has short space bars and Alt keys moved inward, which essentially results in 4 good thumb keys, while keeping an otherwise traditional design. I have set these 4 thumb keys to Extend, Shift, Space, AltGr and it works really well. I've had no problems with the connector between the two halves.

    My only issue with it is I don't think their manufacturing processes are up to scratch. I'm on my second model already; the first would occasionally produce key chatter, and eventually failed completely when its USB connector broke. The second one has been much better, but nonetheless one of the space keys has already failed, but luckily I managed to fix it by resoldering the connection on the PCB and is now working well again. I should be receiving an Atreus shortly which will be my first non-staggered board, so it will be interesting to compare it with that.

    Last edited by stevep99 (14-Sep-2020 13:25:45)

    Using Colemak Mod-DH with some additional ergonomic keyboard mods.

    Offline
    • 1
    • Reputation: 0
    • From: Canada Eh?
    • Registered: 08-Aug-2020
    • Posts: 18

    Thank you very much that is very helpful feedback.  Will have to join in the Discord at some point.  Thank you both for all of the help your have provided me and answered questions.  I think that I am in good shape now and should start learning the Extended soon.

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

    Best of luck! Extend is really great, and yes – there is a separate Extend topic in the BigBag that brags about how great it is and teaches lots of little tricks.

    Sorry everything is so confusing and complex. Not sure how to make it better in this case.

    <LSGT> only exists on ISO keyboards (pc105), not on ANSI (pc104).

    I tried not splitting the number row but it sucks. You want to use the same fingers on each number key whether you use the Wide mod or not. Why the split location is so confusing was covered excellently by SteveP.

    Last edited by DreymaR (16-Sep-2020 11:17:28)

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

    Offline
    • 0
      • Index
      • Technical
      • Layout pc104caw-zqu creates strange keyboard mapping