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 – or if you do! To this end, I use several ergonomic mods and tools that I and others have created over the years, on different OS platforms. My many "typing tricks" are what the 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!
The BigBag is my go-to reply to many questions on Discord, Reddit and elsewhere, to the extent that a meme was created in my honor. Be warned...!
The "Do You Have A Moment..." Meme:
Created by Poltergeist at the Colemak Discord, in 2020
And so, without further ado, voila, here it is! Rummage around in the Big Bag a bit and you shall find!
DreymaR ~ ( のvの) c[_]
THE COLEMAK KEYBOARD LAYOUT
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 I add mods like Colemak-DH, better symbol key placements and geometric ergo mods like Angle/Wide, these are still just minor adjustments. The layout itself stays essentially the same.
If something is too obscure or hard, look up the community on the Colemak Forum and the Colemak Discord for guidance. We're a right helpful lot!
I would also advise a visit to the colemak.org community site, which answers several layout-related questions. It's the "Read the FAQ" option, pretty much.
There are other optimized layouts that may be good for you. And there are other layouts that aren't nearly as good as they claim to be, so beware. Ask around if you're curious, but know that Colemak is a well-tried and solid choice. Either way, many of my mods and tools can be used with different layouts – even with QWERTY should you wish to (ugh!).
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! Much of it doesn't even require Colemak. So, below 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 start exploring the depths of the Big Bag.
FAQ
- Site Organization:
- The BigBag menus are thematically organized. Each section may have subsections, some on separate pages.
- Layers: From your base layout, use modifier keys to bring symbols/keys to your fingertips.
- Ergonomy: Modifications that change your board geometry in an ergonomically useful way.
- Variants: From locale adaptations to mirrored typing, layout variants cater to special needs.
- Learning: Whether you need training wheels or a full gym, the Learning & Training section has it.
- Trickery: All sorts of other stuff, from phones to gaming to ... oh, just have a look.
- DreymaR Recommends:
- There is a lot to choose from. Maybe as a newcomer you experience decision fatigue?
- Wouldn't it be easier if I were to tell you "this is the best option, use this!"?
- But I can't really. Because people are different and have different preferences and needs. For some I'd suggest Extend and Colemak(-DH) only, for others I'd suggest getting the whole BigBag experience and maybe even tweaking it to their own needs.
- I hope the Big Bag can help you learn your options, give you ideas and eventually aid your choices!
- I will give you one piece of well-meant advice though: Don't chase your layout choice too deeply down the rabbit hole. I mean, I wouldn't want you to settle for a crap layout (I could mention a few of those!) but beyond Colemak's level or so there's still so much to choose from. Personal preferences start to matter quite a lot and real benefits are often uncertain at best.
- Instead of pouncing on every soup-du-jour layout out there, consider some other things you can do to improve your typing experience! I'll be covering many ideas in the following. I believe strongly that there's a lot more bang for your buck in learning Extend, thumb keys and/or DKs than in transitioning from Colemak(-DH) to ISRT to APT to Canary to "CannelloniMak" to ... you get the idea.
- Colemak-CAWS: I use the CurlAngle (Colemak-DH), Wide and Sym ergo-mods and feel great about all of them.
- Extend!: Again, this is so important and awesome you won't believe it! Go, do! No, really really! ❣
- Multi-Extend: I have and use two Extend layers: Nav/Edit and NumPad; the latter for numeric entry.
- Tap-Extend (MoDK): I use 3 tap-Extend layers. They're great for frequently used one-shot output and PowerStrings.
- Colemak[eD]: My AltGr and 20+ DeadKey layers serve me very well for typing a whole bunch of different glyphs, strings and whatnot.
- Sticky mods: My Shift keys are on "sticky" timers. I tap instead of chording for one-shot capitalization.
- Compose: A great mnemonic sequencing method complementing DKs, from accents (;e → ë) to runes (r'f → ᚠ) to emoji ('flex → 💪) etc etc.
- CoDeKey: Not a "code" key but Compose+DeadKey. CoDeKey then I for Period-Space-Shift, for instance. So nice!
- Repeat: Simply repeating the previous key press is really handy to avoid strain from same-finger usage.
- Thumb keys: This is how I implement my CoDeKey and Repeat now. Conquer the keys next to Space and enjoy the power.
- Locale letters: These days I get my Norwegian ÆØÅ by CoDeKey, but I've been using AltGr for a long time too.
- Training 1: Mostly MonkeyType 60 s on the English 10k + Zipf word list, with punctuation and stop-on-error:word.
- Training 2: I BurstType through a handful of words every day, to train raw speed.
- Training 3: Using Amphetype and EnterTrained, I type-read interesting books for mileage.
- Training 4: Finally, I play typing games every now and then. Not often now, but I do like them.
- Touch screens: MessagEase with my Colemakoid layout. Adapted to touch screens, and very powerful.
- Controllers: At work I have a classic Unicomp keyboard and a restrictive IT policy so I use a USB-2-USB QUICKIE there.
- 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 geometric 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:
- The awesome input method called Compose bears mentioning! Some may know it already from Linux.
- 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, realizing 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.
- Windows: I use several tools including MSKCL and SharpKeys, but even these come bundled with my EPKL program repo. EPKL is a powerful portable keyboard layout program that contains the whole Big Bag experience – and more.
- Linux: There's a BigBag for XKB repo, with my modifications to the X.Org xkb-data files.
- Controllers: I implemented much of my tricks in TMK for a USB-2-USB "QUICKIE" converter; they should work for most programmable controllers.
- Mac: I haven't done anything for Apple myself, but others have made partial Big Bag implementations.
- The Angle/Wide/Sym ergo mods should work with nearly any layout you choose – even QWERTY
- Extend/Compose/DKs/etc should work with nearly any existing layout
- Locale/phonetic, Mirrored and Tarmak layouts are separate layout layers
- 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.
- 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.
"What's the platform icon for? And where are the downloads?!"
Platform Games?
Selecting a platform affects the platform-specific purple boxes found here and there. For more info, see the Platforms section below.
The platform boxes on other pages generally hold info on settings etc for the implementations. Not all pages have a box (yet); some have several.Get a Load of This!
This site holds info about the Big Bag itself: The various mods and layers and whatnot. This is where you learn about what the "tricks" are.
You may be eager to try them out, in which case you want one of my Big Bag implementation repositories like the XKB/Linux one, or EPKL/Windows.
Which download you want, depends on your platform/OS. So again: Have a look in the platform box further down on this page.
"Still … What Do YOU Use?"
What would you recommend, sir?
Okay, okay, you won't relent. I sense a soul in search of answers. Very well. Draw up a chair...
Here's my setup which, ultimately, I could recommend to most of you since I use it and enjoy it a lot. Don't learn it all at once, maybe? But eventually:
"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?! 👀
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 for symbol layers.
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 Ââ Êê Îî Ôô Ûû Ŷŷ, Ĉĉ Ĥĥ Ĵĵ
. Most slashed symbols belong on the Slash dead key, etc.
For those who use accents and/or special letters in their native 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! 😻
"Do you have a layout that's optimized for my language?"
Cross-talk?
No, Colemak isn't optimized for other languages than English per se. For many languages that still works surprisingly well, but some letters may not be optimally placed. Some non-English users have noticed a few kinks.
There exist attempts to make layouts that are better for a combination of languages. One problem is that no two users are alike.
Do keep in mind that you may be using more English than you think about. For one, you're reading this in English … written by a Norwegian.
The purpose and nature of my locale/script variants is to enable a Colemak user to type the special letters of different languages. These special letters should be as accessible as their frequency in that language dictates.
The Big Bag locale variants mostly use the bracket and ISO key; they may therefore be portable to many other layouts that don't affect these keys.
"Are you a fast typist? Can I trust your advice?"
Would I Lie To You Honey?
Compared to the average typist (40 WPM) I am fast. Compared to most typists on Monkeytype and the Colemak Discord (100–200 WPM it seems), I'm not. Even though I've used Colemak since 2007, I never became faster than 60–80 WPM with it on a typical one-minute test, depending on text complexity. That doesn't matter much to me though, I'm not about the competition but about making typing good and comfortable and powerful.
I do know how to listen though. The advice you'll find on the Big Bag Training page comes from and is approved by some of the fastest typists. In all my years of using Colemak I've talked with and listened to what people say, so I think you can trust my advice.
I also do believe that many of the Big Bag tricks can help your typing speed in addition to your comfort. Consider learning to use such tools as Sticky Shift, Repeat and CoDeKey while typing, as they can save you same-finger bigrams, awkward moments and even a few key presses.
PLATFORM INFO
Not everything is implemented fully cross-platform, naturally. But I've tried to provide as much as I could.
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!
One advantage with my Big Bag implementations is that you can use most of the enhancements modularly:
Freedom of choice through modularity is an ideal for me, as it is in the world of 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:
TODO:
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