• You are not logged in.

DreymaR's Big Bag of Keyboard Tricks - PKL/Windows Edition!

  • Started by DreymaR
  • 155 Replies:
  • Reputation: 210
  • From: Viken, Norway
  • Registered: 13-Dec-2006
  • Posts: 5,343
DREYMAR'S BIG BAG of KEYBOARD TRICKS – ÞE OLDE PAGES

The Big Bag has moved! Go find the updated and more wonderfuller Big Bag at https://dreymar.colemak.org/Now Even Trickier!

Instead of separate platform topics, over there you can select a platform icon and get implementation info in handy context boxes.

Some less central content may not (yet) have been moved though, so if you're missing something make sure to look in both places before you despair.


    Tmk-DH1-5_RBo_ETROI.png


DREYMAR'S (PKL/Win): DreymaR's Extensive Yet Modular ARSenal – for Portable Keyboard Layout on Windows

There is a Big Bag of Keyboard Tricks Main Topic, in which I go into detail on what the different tricks are.

I also have topics focusing on different implementations of the Big Bag Of Keyboard Tricks:
• The Big Bag (PKL) for Windows – you are here!
• The Big Bag (XKB) for Linux
• The Big Bag (TMK) for programmable "QUICKIE" devices
• The Big Bag (Mac) for Karabinier by mkborregaard


DREYMAR'S BIG BAG OF TRICKS for WINDOWS WITH (E)PKL

WARNING - Some Assembly May Be Required (if you want a specific locale/ergo variant for instance)

[1]    Character/Key Mapping Layers
[1.1] My Colemak[eD] AltGr mappings (lv3–4; dead keys on symbol keys etc)
[1.2] An Extend layer using Caps Lock as a switch modifier for navigation/editing/browsing/etc from near the home position
[1.3] Several Dead key enhancements giving access to lots of glyphs (presently for Windows/PKL only)

[2]    Ergonomic Key Remappings
[2.1] Angle/Wide ergo modifications to improve wrist angles, hand spacing and right pinky stretch/load effort
[2.2] Colemak-DH alias the Curl(DH) ergo mod (deprioritize middle columns without keys changing fingers)
[2.3] Symbol key mods for the adventurous (better apostrophe and/or hyphen positions; Work-In-Progress)
[2.4] Modifier modness for the adventurous (Sticky, One-shot etc; Work-In-Progress)

[3]    Layout Variants
[3.1] Tarmak transitional Colemak layouts for learning Colemak in smaller steps if so desired
[3.2] For several locales/scripts:
            • A 'Unified Symbols' layout with only a few necessary changes from standard Colemak[eD]
            • Also, a layout to 'Keep Local Symbols' like their default (QWERTY-type) counterparts and key cap markings for that locale
            • Intuitive Colemak phonetic layouts to write other scripts like Cyrillic, Greek and Hebrew (e.g., using a toggle switch key)
[3.3] Mirrored Colemak that allows one-handed typing without extra learning

[4]    Download and Setup
[4.1] Download and Install files for PortableKeyboardLayout (PKL) for Windows
[4.2] PKL Tips and Tricks

[–.–] Done/Todo


I've implemented my Big Bag for Windows using Farkas Máté's Portable Keyboard Layout app. In my Github EPKL repository you'll find not only the Big Bag tricks but a whole new version of PKL called EPKL where the E is a bit mystical but it can stand for "EPiKaL" (my version used to be called PKL[eD] meaning "PKL, edition DreymaR"). It adds to the already good functionality of PKL in many ways. See the Downloads section below.

In EPKL, each layout variant (a combo of layout type, keyboard type, ergo mods and locale specific mappings) from plain Colemak to your favourite locale variant of Colemak-CAW[eD](!) uses its own folder with at least a layout.ini file in it and usually at least some state images for the on-screen help image. In the old PKL all dead key and Extend images and whatnot would be there too, but these may also be elsewhere now.

In the main EPKL layout settings .ini file you can select one or more of those folders as your active layout(s) – if you wish, by setting shortcut switches for model/ergo/locale variants. The [eD] layouts contain full AltGr mappings and dead keys. If you have simpler needs and don't wish to use the Right Alt key to produce all these wonderful symbols, there are also VirtualKey (VK) layouts that only move keys around without adding anything to them.

EPKL has separate help images for each shift state and dead key (which is quite a lot of images as there are 19 different dead keys!) as well as for Extend, that activate when you need them. You can set your own hotkey to show/hide these, or use the default Ctrl+Shift+1. The help image will jump around your screen if you mouse over it, trying to stay out of the way.

Due to the non-modular nature of EPKL and the plethora of possibilities, not all locale/ergo combinations are premade. EPKL makes it easier than it used to be though! There's a tutorial in the repository README.

PKL[eD] was tested by Viper who is likely the world's fastest Colemak typist these days, and according to him it works without trouble at typing speeds of at least 150 WPM, probably 200+ WPM!


[1]    Character/Key Mapping Layers
[1.1]    COLEMAK[eD] - EDITION DREYMAR

As described in the main Big Bag topic, the Colemak[eD] AltGr mappings have been implemented similarly for various platforms. Although the underlying technology varies, they should work almost the same for XKB and EPKL for instance. For some locale variants in particular, you may have to add your own or ask me for help.

    Cmk-ANSI-eD_96d-FShui.png
    The Colemak [edition DreymaR] layout, using different lv3-4 mappings from Shai's default Colemak.
    Shown on an ANSI keyboard with dead key emphasis (golden) and "FingerShui" color-coded proposed fingering.
   

    Cmk-ISO-eD-CurlAWide_96d-FShui.png
    The Colemak-CAW[eD] ergonomic variant, shown on an ISO board (see below).



[1.2]    EXTEND LAYERS

The Extend mappings using CapsLock (or another key of your choice) as a modifier for all sorts of cool and powerful key/mapping combos, originated with Autohotkey and PKL. I'm very happy with it and consider it a Life Hack on par with Colemak itself! This is one heavy reason I want a EPKL implementation of my layout on any Windows PC I work on instead of settling for just a plain Colemak install without the power of Extend.

Again: Extend is My Favorite Mod next to Colemak itself! For a lot more info and tricks, see my Extend Extra Extreme topic.

    Extend-ISO-NoMod-Win_96d.png?raw=1
    My Extend Nav/Edit mappings. Green, navigation; blue, mousing; orange, multimedia; gray, system/misc.

A more explicitly labeled chart, and an ASCII one from my Extend .ini file:

Spoiler:

    Extend-ISO-NoMod-Linux_96d-Labels.png?raw=1
    My Extend mappings (lvl1 only). Green, navigation; blue/circled, mousing; orange, multimedia; gray, system/misc.


 These keys are modified/transposed by holding down the 'extend key' (CapsLock by default):
+------+------+------+------+------+------+------+------+------+------+------+------+------+
|Esc + |F1 <> |F2 << |F3 >> |F4 <> |F5 <> |F6 << |F7 >> |F8 <> |F9 <> |F10<> |F11<> |F12<> |
| Caps | Play | Prev | Next | Stop | Mute | Vol- | Vol+ | Media| BrHom| Mail | App1 | App2 |
+======+======+======+======+======+======+======+======+======+======+======+======+======+
|` ¤¤¤ |1     |2     |3     |4     |5     |6     |7     |8     |9     |0     |-     |=     |
| Cust | F1   | F2   | F3   | F4   | F5   | F6   | F7   | F8   | F9   | F10  | F11  | F12  |
+------+------+------+------+------+------+------+------+------+------+------+------+------+
|Tab   |Q ¤¤¤ |W *** |F <<> |P <>> |G *** |J ### |L ### |U ### |Y ### |; ¤¤¤ |[ ¤¤¤ |] ¤¤¤ |
|      | Esc  | *WhUp| BrBck| BrFwd| *Up17| PgUp | Home | Up   | End  | Del  | Esc  | Ins  |
+------+------+------+------+------+------+------+------+------+------+------+------+------+
|Caps+ |A +++ |R *** |S +++ |T +++ |D *** |H ### |N ### |E ### |I ### |O ¤¤¤ |' ¤¤¤ |\ ><> |
| ++++ | Alt  | *WhDn| Shift| Ctrl | *Dn17| PgDn | Left | Down | Right| Back | Apps | BrFav|
+------+------+------+------+------+------+------+------+------+------+------+------+------+
|< *** |Z ¤¤¤ |X === |C === |V === |B *** |K *** |M *** |, *** |. *** |/ *** |Spc ¤ |Entr¤ |
| *WhLe| Undo | Cut  | Copy | Paste| *BtnL| BtnM | *BtnR| *Le17| *Ri17| *WhRi| Enter| PrtSc|
+------+------+------+------+------+------+------+------+------+------+------+-------------+
Legend: # Movement; + Modifiers; = GUI edit; * Mouse; <> MultiMedia; ¤ Various commands.

EPKL has a richly functional Extend implementation. It includes sideways wheel scrolling which the Linux version lacks (it has mousing on/off and a Multi key instead). WheelLeft is mapped to the ISO VK_102 key, so if ANSI board users want it they'll have to put it elsewhere. One might forgo one Esc key and put WheelLeft/Right on the bracket keys for instance.

On the Tilde key I put a handy mouse homing key as a default. It's handy for retrieving or putting away your mouse cursor, or for accessing buttons and menus at the upper-left corner of your current window without touching the actual mouse. Another suggestion is Win+T which is quite convenient for opening the Taskbar which can then be navigated further with Extend-keys. Or whatever you like, of course. :-)

The Extend key is specified in the layout.ini file. To not use it, set its value to 'disabled' – but you'd be missing out big time!

Multi-Extend is available in EPKL: You can set up to two modifiers in the Settings file, which select other Extend layers if held when pressing the Extend key. That layer is then maintained by just holding the Extend key down. Only the first two layers are filled in for now, but you may put whatever you want in there. I put some string examples into Ext3/4 as illustrations. Definitions are found in the Extend File specified in the layout.ini file. Here are the current defaults; they're easily changeable:

    Mod     Layer   Default 
============================
    ---     Ext1    Nav/Edit
     1      Ext2    NumPad  
     2      Ext3    Strings
    1+2     Ext4    Coding

    Extend-ISO-NoMod-Ext2_96d.png?raw=1
    My Extend2 NumPad mappings. Green, navigation; purple, NumPad; sepia, symbols; gray, system/misc.

I've put string templates including a set of kaomoji text faces in the Extend3 layer:

    Extend3-ISO-Angle_Cpt.png?dl=1
    My kaomoji Extend3 layer, mnemonically arranged (shown here for Colemak ISO-Angle).

Autohotkey code With the * prefix an entry uses the Autohotkey format which lets you mix literal strings with keys. You can for instance write a set of html brackets then position the cursor between them, write then select text and more. See the extend file for examples.

One-shot Extend layers is possible through the 'extReturnTo' setting in your Extend .ini file. When an entry is sent from, say, layer 4, EPKL can return to any specified Extend layer. So if you have text strings in that layer you'll be back in editing mode after sending a string, without having to do anything.

Soft vs Hard Extend layers: In the extend file you can specify which layers are "hard" or positional and shouldn't change between, say, Colemak and Dvorak but only with positional mods like Angle/Wide. A "soft" layer like the strings/kaomoji one is mnemonic and mappings follow letter positions. L is for Lenny. ( ͡° ͜ʖ ͡°)

Tap-Extend is another new Extend functionality. You can set an "Extend Taps" entry with standard Extend syntax; so for instance Backspace will send the Back key. The "Extend time" setting defines a time in ms within which you can release the Extend key and have the entry sent. After this or if you press another key in the meantime, it works as the Extend modifier key like before. Set the time to 0 to disable Tap-Extend.


[1.3]    ENHANCED DEAD KEY MAPPINGS

This is one area where EPKL has one up on the other implementations for now! There's a fully functional set of dead keys with my own mappings enhancing them beyond pure accents. There are help images that pop up when a dead key is hit, useful for showing many of the rich possibilities but dead key combinations can produce even more!

There are 19 dead keys in my Colemak[eD] layout now. The common accents are there, together with a currency dead key on AltGr+4 and a Greek phonetic dead key on AltGr+5. Furthermore, some sparsely populated dead keys have been enhanced with extra content, such as superscripts/subscripts on Acute/Grave, fractions and negations on Stroke/Bar and ring symbols plus ligatures on RingAbove. The most extensively reworked key is DoubleAcute which used to have only Uu and Oo and now contains a fairly rich set of math/science symbols (think of the double acute as akin to the equals and prime signs)! You really have to see them to believe them – I'll showcase some below but you can see more using the PKL help images (default Ctrl+Shift+1):

01) Dot below
02) Hook, palatal hook
03) Horn, retroflex hook/tail
04) Currency:
    dk04_currency.png?raw=1    dk04sh_currency.png?raw=1
05) Greek (phonetic):
    dk05_greek.png?raw=1    dk05sh_greek.png?raw=1
06) Circumflex
07) Caron
08) Ogonek, comma below
09) Breve
10) Ring above, ring symbols, ligatures
11) Macron
12) Double-acute, math/science:
    dk12_dblacutesci.png?raw=1    dk12sh_dblacutesci.png?raw=1
13) Umlaut/diaeresis
14) Tilde
15) Acute, superscripts
    dk15_acute.png?raw=1    dk15sh_acute.png?raw=1
16) Grave, subscripts
17) Cedilla
18) Dot above
19) Stroke/bar, fractions
    dk19_strokebar.png?raw=1    dk19sh_strokebar.png?raw=1

Note that the dead keys interact in clever ways: Ring then 'angle' will produce 'arced angle', Tilde with 'equals' will produce 'equal or approximately equal', Stroke with many symbols will produce slashed symbols (e.g., from 'identical to' you get 'not identical to') etc. The sequence you press the dead keys in will usually matter: Start with the modifier(s) (such as dead_stroke for "not") then the symbol-producing key (such as dead_maths and then '=' which will usually produce '≡' but now gives you '≢' instead). At the moment, the only documentation for all this cleverness is snoping around the deadkeys file, but logic will take you far too.


[2]    Ergonomic Key Remappings
[2.1]    THE ANGLE/WIDE ERGONOMIC KEYBOARD MODS

With the advent of modular remaps for EPKL, ergonomic mods can be selected quite easily in the settings file if they are premade.

    Cmk-ISO-AWide-35_60d_FShui.png?raw=1
    The AngleWide(Slash) wide ergo mod for PC105/ISO keyboards.

Most locale variants are only premade for the CurlAngleWide ergo combination for ISO keyboards. I'm sorry, but making files and images for every possible setup will be too much work for me! So please try to tweak one yourself using a copy of an existing layout folder, or ask me for help. For help images, see if you can't wrap your head around some of the provided images even if they may not be exactly the same setup as your keyboard, or follow the somewhat techy instructions and generate your own – which you may then share with me if they're of interest to others!


[2.2]    COLEMAK-DH ALIAS THE CURL ERGO MOD

The Colemak-DH ergo mod makes the home "row" curl like a relaxed hand does instead of forcing it to a straight line as was commonly thought best some years ago. This is achieved by moving the common D and H from their debated "middle trench" positions to the more comfortable lower-row C/M positions, while preserving the key-to-finger mappings of vanilla Colemak.

I've now made a solution for ergo mods that allows setting a Remap in the layout.ini file! This makes it possible to turn a non-ergo layout into an ergo modded one.

    Cmk-ISO-CurlAWide_90d-FShui.png
    The Colemak Curl(DH)AngleWide, a.k.a. Colemak-CAW, ergo modded layout.

There are special Tarmak steps to learn Colemak-DH gradually should you want to. See below.


[2.3]    PLAYING WITH THE SYMS

For the most enthusiastic layout modders, I've made a symbol key rotation mod that I simply call Sym. It's only implemented for some layout variants so far, notably the fully ergo modded Colemak-CAWS variants. There are a few possibilities, see the EPKL files and docs.

  \   7   8   9   0   =
[   j   l   u   y   '   -
 ]   h   n   e   i   o   ;
   /   k   m   ,   .   _____

    The full "Sym" symbol rotation mod, shown with the Wide(ISO) mod.


[2.4]    MODIFIER MODNESS (Work-In-Progress)

EPKL supports Sticky or One-Shot modifiers. You can specify one or more keys as sticky and they'll still work as modifiers a little while after you release them. So you can tap, e.g., a Shift key and then a letter to produce a capital letter instead of having to hold down the Shift key. Many fast typists like this.

If you're fast enough you can even chain these OSMs, for instance tapping RCtrl, RShift and LeftArrow in rapid sequence to select the last word. But for that I'd prefer using Extend+S+T+O.

Otherwise, EPKL can be finicky about modifier mapping. All keys that are intended to work as OSMs or Extend release keys must be mapped in some way – such as setting them to 'Modifier' or 'VirtualKey' if you don't want to map them further. But doing this with LCtrl and/or RAlt seems to mess with the AltGr functionality if you're using that. Also, the LAlt key often causes trouble in some apps if mapped. Carefully test the mappings you want.


[3]    Layout Variants
[3.1]    THE TARMAK TRANSITIONAL COLEMAK LAYOUTS

There's a main forum topic on this that you may want to read.

See below for a download of all four steps plus "Tarmak0" (a.k.a. QWERTY) and "Tarmak5" (a.k.a. Colemak).

    Tarmak_Spectral_ETROI.png?raw=1
    The 5-step Tarmak (transitional Colemak) layouts, spectrally color-coded from red (Tarmak#1) to violet (Colemak).

These transitional layouts were implemented as VirtualKey ones, so any AltGr and dead key mappings you'll get will be the same as on your installed keyboard layout in Windows. The layouts should support Extend mode fully. If you define several of them in your EPKL settings file, you can swiftly change between them should you wish to.

My EPKL settings file comes with lines prepared for Tarmak progressions that you may simply uncomment (commenting out whatever else 'layout =' lines are active there) and start using. You may choose between a progression to vanilla Colemak or to Colemak-DH (see above). Wide mods are not (yet) available for Tarmak, but they may not be that necessary as you can always go Wide after you've reached the goal.

There's a help image for each step, that you can see or hide with the shortcut Ctrl+Shift+1 (configurable in pkl.ini). Holding Shift will show the current and previous steps in different colors.

    TarmakCurl3_R_Spect.png?raw=1
    The help image for the third Tarmak-Curl step. Unshifted version.


[3.2]    LOCALE & PHONETIC COLEMAK VARIANTS

See my Locale Variants forum topic for the various locale and non-latin script solutions!
(Warning: In some cases you'll have to change the PKL files yourself, or ask for help. Check the Layouts\Colemak-eD folder to see which ones exist already.)

The locale layouts I've provided so far include the "Latin" layouts for French(BeCaFr)/Portuguese(BrPt)/Spanish(EsLat)/Italian(It), "Germanic", Slavic and some others. These are for the most part set up with the CurlAngleWide mod but you could change that in the [eD_info] of the layout – however, the help images would have to be remade to reflect the changes. The locale layouts may work for, say, a US keyboard too, but you'd miss an important key in OEM_102.

To make your own locale variant you'll want to copy the layout folder for my eD layout over to a new one, renaming it (and putting that new name into your pkl.ini file so the program can choose it!) and then editing the layout.ini file in there.

I don't quite recommend the "Keep Local Symbols" variants but if you do wish to keep your symbol keys unmapped it's quite simple to just comment them out in the layout. Sometimes though, there's a base layout that maps these symbols so you'd have to do it in that file instead.

If you want help images for a locale variant that doesn't have them already, you can use Inkscape (portable or installed) with the PKL[eD] Help Image Generator. Or ask me, if it's a variant others could be interested in.

The dead key images can for the most part be borrowed from another layout with a compatible board type and ergo mod. A few glyphs may be off but for the most part that won't matter to you. If you need the combining accents released by øØœŒ in my layouts, just add the required letters somewhere in yours.

Example from my layout file showing Norwegian vs standard ISO mappings:

SC013 = P    1    p    P    --    π    ¶    ; QWERTY rR
SC014 = G    5    g    G    --    ŋ    Ŋ    ; QWERTY tT
;SC015 = OEM_4    4    [    {    *{Esc}    å    Å    ; QWERTY [{ ; Cmk-eD_ISO
SC015 = OEM_4    1    å    Å    *{Esc}    [    {    ; QWERTY [{ ; Cmk-eD-No
SC016 = J    5    j    J    --    ʃ    Ʃ    ; QWERTY yY

Note the following:
• The OEM_4 (Left Bracket) key has scan code SC015 so it's in the middle now; this is the Wide ergonomic mod in action
• The Norwegian Åå letter on LBr is on lv1-2 mappings due to this being my Norwegian locale layout;
   the only keys that deviate from the standard setup here are LBr(OEM_4), RBr(OEM_6) and LSGT(OEM_102).
• On your keyboard the OEM_# numbers could be different as there's a difference between US/ANSI and Euro/ISO boards; try it out...


[3.3]    MIRRORED COLEMAK

EPKL supports multiple Extend layers. This could be used to get Mirrored Colemak by replacing the Extend mappings, usually the first layer (Ext1). You can't have both at the same time without using additional modifiers unfortunately. And that's too bad since the Mirrored plus Extend combo would be a damn handy thing for one-handed typers!

If you look into the _eD_Extend.ini file you'll find a Mirror section at the very end. It's still a work-in-progress though; let me know if you want to use it and need help! It may be a better idea to make a mirrored layout and make a modifier for it though, but I'll have to look into that option.


[4]    DOWNLOAD AND SETUP

There's a separate Download and Setup post below.


DONE:

2014-01-25: Added ANSI VirtualKey QWERTY+Colemak with the Wide(Quote) mod
2014-05-21: Revamped Tarmak layouts, with better docs, icons, help images etc
2014-11-06: Complete help image set for the Colemak-eD_ISO layout, dead key enhancements and Latin locale variants
2015-06-25: Tarmak layouts with help images and pkl.ini files for ISO/ANSI; Curl(DH)Angle ergo mods for ISO/ANSI (AngleZ and A-Wing)
2016-01-27: Implementation of the Tarmak steps up to and including the Curl(DH) ergo mod, as vk_layouts.
2017-08-08: Implementation of the new unified Colemak-DH mod. Also, I finally moved everything to GitHub.
2019-01-18: Lots of things have been added to EPKL/PKL[eD] at GitHub, including Multi-Extend and Sticky/One-shot modifiers.


TODO:

• Whatever I want to do with the layouts and stuff themselves, I'll discuss it in the main Big Bag topic.
• There's quite a lot that could be done with these files. More locales and help images, both wide and nonwide file sets...
• However, I'll only do any of that if someone really needs help and asks very nicely. ;)
• The main problem is that since EPKL definitions aren't as modular as the XKB ones I'd have to make any changes in multiple file sets at once. Ugh.



    Cmk-CAW_Unicomp_DreymaR_TN-Ninja_2017-08.png?raw=1
    My Unicomp SpaceSaver Buckling Spring (IBM Model M ISO type) keyboard with "American/Ninja" caps, splendidly sporting the Colemak-CAW layout.

Last edited by DreymaR (09-Jun-2021 11:53:10)

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

Offline
  • 1
  • Reputation: 210
  • From: Viken, Norway
  • Registered: 13-Dec-2006
  • Posts: 5,343
[4.1]    DOWNLOAD AND INSTALL

Files for Portable Keyboard Layout (PKL) by Farkas Máté can be found here:
My EPKL repo at GitHub, with all layouts and stuff

This topic is already too long and complex so I can't add a lot of EPKL support here, but basically:
• EPKL runs on Windows (XP, 7/8/10 – except some "secure" dialogs)
• It's portable: Just run it from anywhere! You don't need Install rights, and it doesn't change the Registry nor anything outside its own folders
• You can carry it with you on a USB drive and run it directly from the USB drive, as long as you have Run privileges from that drive; or put it in the Cloud!
• It's compatible with the wonderful PortableApps format
• To run EPKL with the PortableApps menu, put its folder in the PortableApps folder (e.g., C:\PortableApps) – that's all!
• To run EPKL at startup, put a shortcut to pkl.exe (e.g., Alt-drag the program icon somewhere) in your Windows Startup folder
    – To access the Startup folder, press Win+R (for the Run dialog) then enter 'shell:startup'
• The above will work by user, so you can use your EPKL independently of others (but all users of one EPKL will share the same settings)
• EPKL won't be running at first logon but will remain active under a screen lock, so I recommend getting a layout-independent password or learning your password on all layouts you're using!

• The main settings files are EPKL_Settings.ini and EPKL_Layouts_#.ini, in which you can choose a layout. Layout specific settings are in that layout's folder in a layout.ini file.
• I have a shortcut system for my layouts: You can specify board type (ANSI/ISO), AngleWide and Curl mods, and locale code.
    – If that layout combination exists, it'll be used. Check the Layouts folder to see your options.
• The .ini file formats are understandable and commented, but not always simple. Proper documentation, unfortunately, doesn't exist yet.


[4.2]    EPKL TIPS AND TRICKS

• Check the GitHub repo for a lot more info and tips!
• You can adjust the size of the help images in the layout.ini file; I've included a few options but anything goes really
    – Most of my help images are 812×282 pixels (at 96 dpi native resolution)
    – If you want smaller images you could use for instance 2/3 or 1/2 of that in both directions
    – There is a scale setting in % for each layout, and also a global Zoom hotkey setting to switch between sizes
• If you want to use the CapsLock key for something else or use another key for your Extend modifier:
    – Look in the EPKL_Layouts_#.ini files, for the 'QWCLK' behavior.
    – It can be a simple key, like BACK (=Backspace) that standard Colemak uses...
    – ...or better, the Extend modifier!
    – As a Tap-or-Mod (ToM) key, it can double up as a key press on tap and a modifier on hold.
    – This way it can even be a Mother-of-Dead-Keys (MoDK), with many different functions!
    – This behavior is ruled by what other modifiers are active when you tap/hold Extend.

Last edited by DreymaR (17-Sep-2020 14:29:38)

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

Offline
  • 0
  • Reputation: 1
  • From: Sofia, Bulgaria
  • Registered: 05-Mar-2011
  • Posts: 387

Hey DreymaR, just a thought here, but have you considered mapping a Ctrl Backspace on the Capslock layer? I use it fairly often. I was even thinking of mapping Ctrl Del...

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

Nah, I'm just hitting Caps-T-O for that - much like I use Caps-A-4 (= Alt-F4) to close a program or Caps-T-Spc (= Ctrl-Enter) to send an email.

Since it's home position it's easy to hit, apart from the slight stretch on the left hand; but I don't use it often enough for that to worry me.

The Caps-A-T-; combo could in theory work as Ctrl-Alt-Del, but (fortunately?!?) it doesn't. I think there's a limitation in key event sending that precludes this event from working as expected/feared. :)

The most annoying thing for me right now is that I haven't managed to make the Extend-AST modifiers work well in XKB. The PKL version is fine.

Last edited by DreymaR (11-Sep-2012 13:05:06)

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

Offline
  • 0
  • Reputation: 1
  • From: Sofia, Bulgaria
  • Registered: 05-Mar-2011
  • Posts: 387

Oh, of course. I didn't think of that Caps-T-O. Nice. I kinda like this whole thing more and more. Maybe I'll give it a try some times, if I can get over not having a backspace on the left side of the keyboard. I got quite used to that not only for typing but also for browsing and whenever my right hand is on the touchpad. But I guess I could get back to using left Alt + arrow left. Anyway – that's me thinking out loud. Kind of ironic to be written in a forum post, isn't it? haha

And yeah, AHK cannot send Ctrl-Alt-Del and a few others.

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

It's true that the Extend mappings are best for two-handed work. Well, not all of them: I love having scroll and Back/Forward buttons under my left hand when browsing, Esc on Q and Enter on Space when using menus and windows for instance. I've given thought to a left-hand-only Back too, but in the end I preferred a Del (on Caps-`). If you feel you have all the Esc you need already you could replace the Q mapping?

Last edited by DreymaR (11-Sep-2012 14:56:12)

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

Offline
  • 0
  • Reputation: 1
  • From: Sofia, Bulgaria
  • Registered: 05-Mar-2011
  • Posts: 387

Yeah, good idea. The ring finger is better at quick successive presses than the pinkie anyway. I'll certainly give it a thought and maybe incorporate some of them in the AHK file I'm running. I like to keep things in the same file, and it's already more than 800 lines... just shortcuts...

I love shortcuts...

Offline
  • 0
  • Reputation: 0
  • From: Malmö, Sweden
  • Registered: 10-Sep-2012
  • Posts: 122
DreymaR said:

User Vaskozl wants to know how to make mappings for a non-Angle/Wide Extend mode and AltGr mappings:

You can use my pkl.ini file and remodel its [extend] section for your needs. It actually has some "storage" sections below the [extend] one where I keep mappings for wide/non-wide and angle/non-angle extend mappings since these can't be done modularly like I wanted to.

[update 2012-09-11:]
Okay, I've edited together and uploaded to the main download above a PKL both with and without Angle/Wide modifications in the [extend] sections of the pkl.ini files, and a non-Wide Colemak[eD] layout. Yay!

The thing I'm still uncertain about though, is whether the ISO_# keys work as they're supposed to for you! When I made my own layout, I had to rename a few of them and I guess that might be because of differences between the ANSI and ISO layouts but I'm not quite sure. Therefore, test these out on your different keyboards and if symbols keys are jumbled we'll have to translate the ISO_# numbers to the right ones for you again. Let me know, OK? ;)

Hope that works for you!

Wow, you are epic! Such a fast reply. I thank you greatly and am currently using the layout you made :).
On the iso keyboard, the key that is between "shift" and "z" is "œ". All the others work perfectly. I will most likely change "œ" to something else anyway.

All the best regards!

Posted without the aid of a rodent.

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

All the symbol keys working as expected you say? That's good then. (I have no idea why that other file in the PKL distro has other OEM_# key mappings than these...)

The VK_102 key between Shift and Z is supposed to be an 'œ' in Colemak[eD]. This is one of the keys that I use to provide special characters for national layouts, together with the bracket keys. See 'Locale Colemak variants' above. I keep the œ there because it's actually sometimes used in English (in loan words like 'œuvre') as well as French and IPA, and has no accent dead key. But hardly anyone uses it these days it seems. ;)

So yeah, feel free to put whatever you need on that one! Keep in mind that it's only there on ISO boards - but the people who need national variants generally have ISO boards anyway.

Heh, according to this Wikipedia article the use of vowel ligatures in English is completely archæic; well, consider me somewhat of an archætypal primæval palæolithic phænomenon then. ;)

Last edited by DreymaR (12-Sep-2012 11:24:42)

*** 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: Malmö, Sweden
  • Registered: 10-Sep-2012
  • Posts: 122

After having this layout on my keyboard for 2 days now, I am certain that I will stick to it. The navigation buttons, provided by the extended capslock layer are just pure awesomeness. The altgr mappings are also very well constructed and I can see that much thought has been put into them. Almost any existing symbol that you will ever use either has a place there or can easily be achieved with a dead key. Another also cool feature is that if for some reason you can't use your mouse you can easily control the cursor on the screen with the caplock layer. I actually sometimes use it when the cursor is blocking my vision and I have to quickly move it away or when I want to click some nearby textbox and can't be bothered to relocate my hands. Because of this your hands rarely have to leave their homerow positions.

I highly recommend DreymaR's layout to any colemaker.
DreymaR I can't thank you enough for all the hard work and reaserch you have put into this truly fantastic layout.

I also have a few questions for you though:
1. When you just want to click enter do you use the "Enter" key or do you use "Caps + Space".
2. When you just want to backspace you use "Caps + ;" right?
3. I still can't figure out where the scripts that controls F9 - F12 keys is. Would you be so kind to point out where they are located?
4. I can't figure out what the extended "\" key that is labeled as "Fav" does. I guess it has something to do with favorites but I don't get how it's used.
;)

[update 9.27.2012]

Never mind, I found out how to change the "F" keys from the pkl.ini file. Also I saw that the Fav button was actually browser favorites... Remapped that anyway to capslock for easier reach when doing SQL. :)

Last edited by vaskozl (27-Sep-2012 16:46:38)

Posted without the aid of a rodent.

Offline
  • 0
  • Reputation: 1
  • From: Tampa, FL, USA
  • Registered: 24-Aug-2012
  • Posts: 24

I think your Tarmak layouts have P instead of R at SC013.

Minimak - Better typing without losing QWERTY
http://www.minimak.org/

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

Curses! Good catch lilleyt, thanks. Fixed now.

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

Offline
  • 0
  • Reputation: 1
  • From: Tampa, FL, USA
  • Registered: 24-Aug-2012
  • Posts: 24

No problem. :)

Minimak - Better typing without losing QWERTY
http://www.minimak.org/

Offline
  • 0
  • Reputation: 0
  • Registered: 14-Apr-2013
  • Posts: 1

For some reason all the Caps Lock functions on the right of my keyboard (past LNM) are shifted right by one key (ie Left arrow is on E rather than N and backspace is on ' rather than o). Any way to fix this?

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

Hello, and welcome!

You seem to have gotten yourself a Wide ergonomic mod Extend layer atop a non-Wide layout. :)

Unfortunately, this goes by scan codes so I can't map the Extend keys versus Wide/Angle mods independently of what layout you're using. For an AngleWide ergonomic layout you'll need the Angle and Wide Extend code, and for a non-angle/wide (traditional) layout you'll need the non-angle/wide Extend code in your pkl.ini file under the [extend] section. If you look inside there it should be fairly well explained.

I've provided two template pkl.ini files named 'pkl_nonAngleWide.ini' and 'pkl_AngleWide.ini' (or something similar) in my pkl folder. You'll want to replace the pkl.ini based on the wide version with a copy based on the nonwide version. Simple copy-paste(replace) operation.

I just uploaded a version of my full PKL file that has a README file in it; hopefully that makes this and other things a bit clearer.

Hope that helps! :)

Last edited by DreymaR (15-Apr-2013 12:14:24)

*** 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-Aug-2013
  • Posts: 4

Hello Gang Colemak!

Two weeks ago, I decided to learn Colemak and go cold turkey. Now I am at 30 WPM and comfortable typing emails, write programs and express myself. It's just great!

I have two TypeMatrix keyboards, one at work, another at home. I like the Matrix layout. And now I am also doing touch typing after switching to Colemak. Came across this thread and downloaded the Win PKL stuff, it's great! Thanks much DreymaR for sharing it :)

Because CAPS Lock on TypeMatrix is in odd location, its not an ideal extend key. Do anybody with TypeMatrix here would like to share their experience or suggestions?

I love the idea of extend layer and pulling down the most commonly used symbols on/near the home row. I program mostly in C and Python.

Also I have few questions:
- How to map the LAlt as extend key and leave RAlt as it is?
- Is it possible to put a layer on LShift+LAlt?
- How to make underscore as the main symbol on the key, and minus when Shift key is depressed?

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

Hi, and welcome! Glad you're having fun with this.

skywalker said:

- How to map the LAlt as extend key and leave RAlt as it is?
- Is it possible to put a layer on LShift+LAlt?
- How to make underscore as the main symbol on the key, and minus when Shift key is depressed?

- Errr... it's embarrassing but I can't remember how to set the Extend key anymore! I thought it was in the pkl.ini file somewhere but I don't see it there. Anyway, the key name 'LAlt' in PKL/AHK refers to the left and not both Alt keys.

- PKL doesn't support more than one Extend layer. I wouldn't want a different layer on Shift-Extend because it's useful to have Ctrl/Shift/Alt keys in the extend layer so you can for instance press <Extend>-S-T-N (=Shift-Ctrl-Left) to select one word back. But on my wishlist is an Extend key that you can use modifiers on: Say, Shift+Extend selects another extend layer and then you can release the Shift key while keeping the Extend key pressed (the Shift becomes normal Shift when released).

PKL's creator Farkas Máté hasn't been in touch in a while.

- In the layout.ini file of the layout you're using, swap the '-' and '_' entries. In my layout.ini file, the right line looks like this:

SC00d = OEM_MINUS    0    -    _    --    dk11    ±    ; QWERTY -_

Hope that helps a bit, at least!

Last edited by DreymaR (27-Aug-2013 14:26:15)

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

Offline
  • 0
  • Reputation: 1
  • From: Tampa, FL, USA
  • Registered: 24-Aug-2012
  • Posts: 24

One thing I appreciate about an extend key is to put it on a thumb rather than a pinky.  The thumb seems ideal to me because it allows freedom of movement of both hands, not just one.

I have a TypeMatrix 2020 and use the right alt key for my own extend (I don't use DreymaR's layout, although his work looks excellent).  I don't have need of it for alt-gr, although you might.  And I've trained myself to always use the left alt when I need a true alt, so I don't miss the right one.  Your mileage may vary.

The 2020 has a split space bar.  How I wish I could use the left space as a separate modifier key, since I always space with my right.  It's the biggest and most convenient button on the board, but it goes 100% unused.  Sigh.

Minimak - Better typing without losing QWERTY
http://www.minimak.org/

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

If you aren't using the AltGr key (what – and miss out on all the glyph fun, haha?!?) indeed the RAlt might be a good candidate for the Extend modifier although the Caps key works very well in my experience.

If you were to do that on a standard-type keyboard I highly recommend a Wide ergo mod to make the RAlt more accessible.

Too bad we don't have more keyboards with separate right and left thumb keys like the Japanese boards have! On my imaginary dream board there's even a standard-size key in the middle between two double-width thumb keys. But then it wouldn't be a standard-type keyboard and you might as well go all the way on changing key positions and shapes...

Last edited by DreymaR (28-Aug-2013 09:18: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: 27-Aug-2013
  • Posts: 4

Thanks davkol, DreymaR and lilleyt. I am thinking to use AltGr layer for the symbols I want. Though I am not able to put arrow keys on AltGr layer. I also tried modifying layout.ini of PKL from Colemak download page as follows:
SC017 = U    5    u    U    --    ={Up}    Ú    ; QWERTY iI
doesn't seem to work, but if I put a symbol that works and also ={backspace} deletes all text, not sure what I am missing?

DreymaR, you have done excellent work. Thanks heaps mate!
extend key is in layout.ini, I try changing from CapsLock to RAlt, but movement keys are not working, some keys are working, some are not, also Alt-Tab became sticky, can't remember how. Was experimenting a lot on Windows machine at work. At home I have Mac. I am trying to make layout which will work on both and stick to that. This can be a limitation, I know.

On TypeMatrix 2030 keyboard, I like the vertical grid arrangement of keys but dislike there is no separate arrow keys block.

I think over the next few weeks I will keep learning more about AHK and PKL system, at this stage everything is new to me! AHK looks very interesting and powerful, something worth learning.

Offline
  • 0
  • Reputation: 0
  • Registered: 27-Aug-2013
  • Posts: 4
skywalker said:

...also tried modifying layout.ini of PKL from Colemak download page as follows:
SC017 = U    5    u    U    --    ={Up}    Ú    ; QWERTY iI
doesn't seem to work, but if I put a symbol that works and also ={backspace} deletes all text, not sure what I am missing?

Ok, figured out how to make arrow work, AltGr-u doing up arrow:
SC017 = U    5    u    U    --    *{Up}    *{Up}    ; QWERTY iI

Now, I am expecting AltGr-Shift-u (which is mapped to Up arrow in above) to select the text as insertion pointer moves up, but selection is not happening only movement is happening. Any idea?

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

You're converting Shift-u to an Up stroke. The shift state won't be kept in the process. Try replacing the second asterisk with a plus sign maybe? Also, I'm not sure you need the asterisks as I don't think the Extend mode uses them (but I may remember wrongly). The PKL Extend mappings are fully modifier compatible, both when using the real modifiers and remapped ones.

*** 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-Aug-2013
  • Posts: 4
DreymaR said:

You're converting Shift-u to an Up stroke. The shift state won't be kept in the process. Try replacing the second asterisk with a plus sign maybe? Also, I'm not sure you need the asterisks as I don't think the Extend mode uses them (but I may remember wrongly). The PKL Extend mappings are fully modifier compatible, both when using the real modifiers and remapped ones.

Thanks a lot DreymaR for the tip! Adding plus worked (without star it doesn't seem to work though).
   

SC017 = U    5    u    U    --    *{Up}    *+{Up}    ; QWERTY iI

Cheers

Last edited by skywalker (03-Sep-2013 01:40:42)
Offline
  • 0
  • Reputation: 210
  • From: Viken, Norway
  • Registered: 13-Dec-2006
  • Posts: 5,343

I guess the Extend mode uses a "star" by default and I just forgot about it. Glad it 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
  • Reputation: 11
  • Registered: 06-Jun-2013
  • Posts: 551

Is there a UK version for the windows pkl stuff or should I start going in and trying to change things?

Offline
  • 0