I've implemented my Big Bag for Windows using Farkas Mt'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.
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!
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.
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.
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.
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. :-)
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:
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.
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.
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!
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.
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.
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.
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.
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.)
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.
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.
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. :)
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?
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...
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.
c80f0f1006