THE BIG BAG THEORY
INTRO
My mission is to make your keyboard a lot more comfortable and powerful, even if you don't have an expensive programmable board. To this end, I use the Colemak layout with several ergonomic mods and additions that I and others have created over the years, on different OS platforms. These "tricks" are what this Big Bag is about.
If you're new to this, there may be a lot of unfamiliar terms and concepts! You may not be sure whether your board or OS layout is ISO or ANSI, row-staggered or ortho – or something else. And what on earth are dead keys, ergo mods or Extend layers?! Relax and take a deep breath please, because it's all here. I hope you find what you're looking for and then a lot more useful stuff!
If something is too obscure or hard, look up the community on the Colemak Forum and Discord. We're a right helpful lot! The BigBag is my go-to reply to many questions on the Discord and elsewhere, to the extent that a meme was created in my honor. Be warned...!
Meme:

Created by Poltergeist at the Colemak Discord, 2020-09-29

Colemak is a great keyboard layout that I and many others use daily with great enthusiasm. It may – and in all likelihood, it will! – make you a faster typist, although you can get very fast with other layouts too. More importantly, it makes typing a lot more comfortable and optimal, and your fingers will thank you for the rest of your life for choosing it!
(b ̄◇ ̄)b
Since I started using using Colemak in early 2007 I've been fiddling with it, trying out ideas from the Colemak forum and adding some of my own. Colemak per se is to me only the letter block mappings. I've always ended up with that mostly intact and it has stood the test of time: Even though the Colemak-DH mod has a lot of traction these days, it's still just a minor adjustment to vanilla Colemak and I consider them the same basic layout at heart. If you look at the ergonomic mods described here you'll see that I'm somewhat flexible about geometry – but in reality that's about the physical keyboard design and a better hand position. The layout itself stays essentially the same.
And so, voila, here it is! Have a look inside the Big Bag and see what you'll find!
DreymaR ~ ( のvの) c[_]
DREYMAR'S BIG(!) BAG OF TRICKS?!? HALP, I'M NEW HERE!
Welcome to the BigBag web pages!
Inside this Big Bag there's a lot you can do in addition to learning Colemak! Some of it doesn't even require Colemak. So, this is a little beginner's introduction to the wonders of layout modding: What are your main options, and what's good to begin with?
If any of this interests you right away, click the menus or submenus to explore the depths of the Big Bag!
- The Colemak Keyboard Layout:
- As mentioned, the Big Bag is centered around but not at all limited to the Colemak layout.
- Lots of the Big Bag content could benefit users of other layouts including QWERTY.
- In particular, Extend and Compose are tools that everyone should try, and ergo mods etc fit most layouts.
- Tarmak Learning Layouts:
- This is a set of learning layouts for learning Colemak in 2–5 smaller steps.
- Tarmak allows a much smoother and less taxing transition from QWERTY, although it may take longer.
- While you will lose speed at each new step, you'll regain it a lot faster because the step is small.
- Extend:
- This mod lets you navigate, edit and more without moving your hands.
- It's every bit as brilliant as Colemak itself, and independent of your typing layout!
- Please note that while Extend is technically "just" a layer with a modifier, it's a lot more powerful than your typical Fn key layer!
- One of its greatest strengths is the possibilities arising from chording home row modifiers with navigation/editing and other keys.
- If you want even more power, on some platforms you can add Extend-tapping for nearly endless possibilities.
- Colemak-DH alias the Curl(Angle)-DH ergo mod:
- A Colemak-specific mod. Moving the common D and H down makes them easier to reach with lightly curled, relaxed fingers!
- Some dislike the lateral index finger stretches to the "middle trench" so much, they made new but inferior(!) layouts to change this.
- As an example, the very common HE bigram requires such an inward stretch followed by a rapid repositioning.
- Colemak-DH achieves the same as these layouts without losing any of Colemak's excellent performance stats.
- There is a tweaked Tarmak progression for Colemak-DH if you want to learn it step-by-step.
- Angle/Wide and Sym ergo mods:
- These ergonomic mods are basically layout independent. QWERTY-AngleWide is definitely possible.
- They make your standard row-staggered keyboard more like an ergonomically designed board.
-
The Angle mod is simple, especially on an ISO keyboard:
Slide ZXCVB one step to the left, keep your fingering but straighten your left wrist. Comfy! -
If you have an US/ANSI keyboard, you must make a tradeoff:
Moving the Z key back to the old B position ("Angle-Z") is the most common solution. -
The Wide mod is quite simple on any standard keyboard:
Slide the right-hand keys one step to the right, improving hand distance and thumb/pinky reaches. Neat! -
These are "hard" geometric mods. You could even change the physical key caps to Angle/Wide positions if possible.
My partner typed QWERTY-AngleWide without trouble, without thinking about it. -
The Sym mod, lastly, goes a step further than Colemak and moves the symbol keys around.
It's an optional addition that I feel works well, making the often-used apostrophe/quote and hyphen/underscore keys more accessible.
Using the Wide mod already affects symbol keys, so I do recommend optimizing it one step further to a WideSym combo. - I use all of the above mods in conjuction: Colemak with the CurlAngleWideSym mods makes my Colemak-CAWS! 💪
- Colemak[eD]:
- This mostly affects you if you'll be using the AltGr key (RAlt as a layer key), as it's about the extra mapping layers on each key.
- Vanilla Colemak has several AltGr mappings, but they seem incomplete, unintuitive and not really practical to me.
- My [edition DreymaR] mappings place useful symbols and letters quite intuitively.
- Further symbols/letters are on dead keys that all reside on symbol keys with AltGr.
-
EPKL for Windows has a huge bunch of glyphs/symbols in its dead key layers!
Linux DKs are generally quite well populated but not to the same extent.
For other platforms, I haven't got any rich DK solutions I'm afraid. - If you use any of my Big Bag files you'll mostly get Colemak[eD] AltGr mappings, or VK mappings without any shift states added.
- The [eD] mappings and dead keys can of course be used with other layouts too! But some placements may be less intuitive then.
- Compose:
- There is another awesome input method called Compose that bears mentioning!
- Defining a key as a Compose key lets you input advanced stuff using sequences, such as a then ' with Compose for á.
- I didn't stop there though, and realized that pretty much anything can be made with Compose sequences.
-
Example: It's easier to compose the mnemonic sequence "work" than to remember to which key I mapped a string of glyphs like
🕘 🏢 🕔. - The Compose method is native to Linux/XKB, and EPKL for Windows has a powerful and readily modifiable Compose method.
- These days, I'm so much into using and refining different mapping triggers for different purposes. I believe in using a combination of Extend, Compose and dead keys.
- For EPKL on Windows, I've even developed combo keys: The MoDK key is both an Extend modifier on hold and a trigger of different dead keys on tap. And the CodeKey is both a Compose key and, if no composable sequence is recognized, a dead key. These are very very powerful and useful together!
- Dead keys are a fast and unintrusive way of releasing single-output mappings that are intuitively linkable to single key/character triggers.
- Extend is a powerful way of doing tasks like navigation/editing or NumPad input, where you often want to stay in a layer for multiple key strokes.
- Compose is a way of mapping lots of different things onto one sequence-based "layer". The EPKL Compose table file holds 3000+ entries, some quite complex!
- Locale/script layouts:
- If you use other languages than US English, you may want certain special letters, accents and symbols readily available.
- I've devised lots of Locale Colemak layers. For some languages, there may be several different solutions.
- Also, there are several layers for non-Latin scripts like Greek and Kyrillic letters, with Hebrew and Arabic coming up.
- The script variants are for the most part phonetically mapped to Colemak, with clever solutions for the special ones.
- The different platforms don't all have the same selection available. You could try asking (nicely) if you're missing a variant.
- Typing training:
- If you're interested in learning the Colemak layout or just getting faster with it, check out the Training page!
- It contains various learning/training methods and tools, and useful tips from the experts.
- Whether you want to focus hard, type-read books or simply play your way to layout proficiency, it's covered here.
"Tell me more about Colemak! I have questions."
Enter Coleman
The official site for the Colemak layout is https://colemak.com/.
The Colemak community page at https://www.colemak.org/ also holds answers.
At the Colemak community page there are more FAQ questions like this one, concerning the layout. Have a look.
To see how the Colemak layout looks on your keyboard and which finger goes where, I recommend this handy online tool:
Baobaozi's "Which Colemak is which?"
"Tarmak seems dumb. Isn't it both faster and less confusing to learn Colemak cold turkey?"
Tarmak Or Turkey, Sir?
If you have the time and energy for it, it's probably faster to learn Colemak cold turkey. But not easier, I think.
Tarmak is ideal for those who can't afford a huge hit to productivity, even for a week or so. But many others have been very pleased with it too, because as mentioned it is much less taxing to learn a small step at a time than to learn everything all at once. And the one letter (J) that gets put in the wrong positions is rare in English so it won't bother you much.
There are other tacks, such as QWERTY-by-day, Colemak-by-night. Or learning with Tarmak without installing it – see the Training page. Find the one that works for you!
"I think I'll learn <Layout-of-Choice> first, before I bother with layers like Extend?!"
Extending Can Wait?
Do yourself a favor, and start with Extend right away! Extend can be very useful with even a minimal investment, and it just keeps growing on you thereafter as you keep discovering new tricks.
You could learn to Extend before you learn a new layout like Colemak, during, or after; all platform implementations let you do that.
See the Extend Extra Extreme page if you still need convincing.
"What's best, classical/vanilla Colemak or Colemak-DH?"
You say potato...
It's quite individual really! There are many users of both variants, among them people who have tried both.
To determine what you like best, decide how you feel about inwards stretches to D (QWERTY G) and H. Then compare with the downwards curl to V and M. If you prefer those, consider Cmk-DH.For more info, see the Colemak.org page.
"Whoa, that's wayyy too many mods and letters! Confused now!"
Can I have a smaller bag, please?
If you don't feel like spending energy on mod studies then just use a standard solution like vanilla Colemak out of the box! You can't go very wrong, it's an excellent choice as it is. But maybe you do want to embark on an exciting ergo-mod journey, and yet you want a map with bigger and friendlier letters...?
For a condensed yet fairly complete explanation of the Colemak mods (most of them may be used on other layouts too) described below, I recommend having a look at CSGO's Intro to Colemak Mods over at Reddit.
CSGO will give you cliff notes on what the C-A-W-S ergo mods are, and what fingering to use. Clear and handy!
On the Big Bag Ergo-Mods page there's much more in-depth info so if/when you feel ready for it, please read on.
"What's the best symbols/coding layer layout?"
Layer it on!
That's bound to be fairly individual, isn't it? No one size fits all. It matters a lot which languages you use, and also whether you need emojis or technical notation the most – or maybe both?! 👀
In fact, I strongly distrust layer concepts that try to fit "all the useful" accented letters and/or symbols into one or a couple of layers! (Yes, EurKey and others including parts of the default Colemak AltGr layer, I'm looking at you!) Sounds like a neat enough idea at first, but it quickly gets messy and awkward as once you've used up, say, the I key for the letter Ïï
you have no intuitive position left for the letters Íí Ìì Îî Ǐǐ
etc etc: Of the 19 dead keys in Colemak[eD], 14 or so hold different accent mappings for Ii
. With symbols it's the same pickle as there are many types of symbols and no easy way to map all of them to a layer intuitively. Furthermore, different users don't need the same accents/symbols. So I unhumbly state that one-size-fits-most is a bad concept here.
Combining an AltGr layer with 19 different dead keys has nevertheless enabled me to provide a huge selection of glyphs at your fingertips, fairly intuitively. It means a few more key presses for the less common accents/symbols, but allows far more intuitive mappings. Once you know where the circumflex dead key is, you'll know where to find Ââ Êê Îî Ôô Ûû Ŷŷ, Ĉĉ Ĥĥ Ĵĵ
etc. And most slashed symbols belong on the Slash dead key, etc.
For those who use accents and/or special letters in their language, I still very much recommend using one of my locale layout variants! It's so much nicer to have the special letters of your own language in more accessible positions. See below.
For coding, pretty much the same applies. But in this case, you should also look into harnessing the power of sequences (the Compose method, see below) and power strings if you're on a platform that supports them (such as Windows with the EPKL program). With those you can get not only boilerplate text but cursor movements and selection, for instance to type out a couple of HTML tags and place the cursor in between them with one mapping. Using sequences, you can have even more intuitive – albeit multi-character – triggers for your mappings. Such as 'addr
with Compose for your address.
Best of luck with finding layers and methods that help you do what you want to do, intuitively and powerfully!
"Are you serious, man?! Dead keys, Extend and Compose?!"
Trigger-happy yet?
It may seem daunting and maybe overmuch to recommend three different methods of triggering layer mappings. But each has its own merits:
So you see, in my world at least there's room and need for all of those. Until recently I didn't have Compose, but I've grown to love it very much. And the combo keys even more! 😻
HOWS
I use my own edition of Farkas Máté's excellent Portable Keyboard Layout – EPKL – to implement the Big Bag for Windows. For Linux, I've hacked up a bunch of modifications to the X.Org XKB files. Then I got me a USB-2-USB "QUICKIE" converter and implemented much of my tricks for that too; they should work for most programmable controllers. I'm pretty proud of it all, I must say!
To see platform-specific implementation info, select a platform icon from the menu above or from the purple lines/boxes themselves. Try it on the one below!
An advantage with my implementation is that in most cases you can pick and choose most of the enhancements as modules:
- The Angle/Wide ergo mods are models/remaps so they work with any layout you choose (including QWERTY or Dvorak ones) and may be chosen per user
- The Extend layers and their switch key are options that should work with nearly any existing layout
- The locale/phonetic, Mirrored and Tarmak layouts are separate layout layers
Freedom of choice through modularity is an ideal in the DreymaR world, as it is in Linux.

My Unicomp SpaceSaver Buckling Spring (IBM Model M ISO type) keyboard with "American/Ninja" caps, splendidly sporting the Colemak-CAWS layout.
DONE/TODO:
DONE:
- Get the Big Bag implementations (Win/EPKL, Linux/XKB, Controllers/TMK) up and going as GitHub repositories.
- Present the Big Bag more hypertextually on GitHub web pages with a colemak.org address (still Work-In-Progress).
-
Updated Rulemak and Bulmak to 2016 versions (ru/by/ua, bg/rs/mk – although only found in
ru and bg so far):
East Slavic (Russian/Church/Belarus/Ukraina?) & South Slavic (Bulgarian/ISO-9/Serbia(Cyrillic)/Macedonia?) - Tarmak layouts for Curl-DH modders. The changes are minor, but should be easily accessible for the newcomer.
- Training topic: Alternative fingering. Tricks like sliding in for the NK/KN bigram are useful for the somewhat advanced typist.
- Transition from DHk (the 2017 standard) to DHm (SteveP's original DH mod) as the Colemak-DH standard.
TODO:
- Dead keys with currency on AltGr+4, Greek on AltGr+5, tech/math stuff on AltGr+= and IPA++ on AltGr+Shift+numbers(?) [done in EPKL]
- A total of 4 Extend layers: Basic/nav/edit, NumPad++, Coding/etc, Hotstrings – or whatever you like! [done in EPKL]
- Modifier keys for 4 Extend layers. For instance, Caps+{--, RShift, RAlt, RShift+RAlt}. Holding down Caps maintains the layer state. [done in EPKL]
- Fix the Hebrew phonetic Colemak ("Hebmak") variant, once we agree on how!.
- Also an Arabic phonetic Colemak variant, building on the same principles as the Hebrew one.
- Develop and test a Vietnamese Colemak (with icedryst and whoever's interested).
- More locale layers: epo (Esperanto), …? (Any suggestions, or comments on the existing ones?)
- "Tap dance sequences", using dead keys and/or combines to release strings and things without having to hold modifier chords.
- Further Compose/sequencing, dual-mode key and other layer/triggering developments.
LASTLY:
The old Big Bag topic is still around at the Colemak Forum, but it's outdated by now. This site should pretty much contain all the important bits and the proverbial kitchen sink, but if you're missing anything old it may still be found by a stroll around the Forum Colemakum.
Best of luck with Colemak and its many marvelous mods! ♪~╰(*°▽°*)╯~♪
If you do get stuck, here's a little light
entertainment to hopefully Shift your mo(o)d.
Typealong Clackity said:
Colemak's connected to the ... Curl* mod,
The Curl mod's connected to the ... Angle mod,
The Wide mod's connected to the ... shoulder bones,
And Extend's just wonderful!
-------
*: DH
