]> git.donarmstrong.com Git - qmk_firmware.git/blob - keyboards/planck/keymaps/callum/readme.md
[Keymap] the results of some experiments and radically simplify keymap.c (#6172)
[qmk_firmware.git] / keyboards / planck / keymaps / callum / readme.md
1 # callum's planck layout
2
3 This is a layout for the grid planck, built with a few ideals in mind:
4
5 - Consistent and minimal response times should be maintained. Keys that react
6   differently depending on whether they are tapped or held, keys that react
7   differently if they are double tapped, etc. should be avoided – they
8   inevitably send their keycode later than a normal key – interrupting the
9   immediate feedback from the screen. Therefore we restrict ourselves to
10   chording as our only means of getting more than one symbol out of a single
11   physical key.
12
13 - The hands should never need to leave the home position. The usual culprit for
14   this is the arrow cluster, so the arrow cluster should be as close to home as
15   possible.
16
17 - There should be two of every modifier (one on each side), otherwise certain
18   long key combinations become hard to make.
19
20 - It should be possible to do things you might want to do while using the mouse
21   with only the left hand (e.g. change tabs, navigate back or forwards in
22   browser history).
23
24 - Symbols should be arranged so that the most frequently used are easiest to
25   reach. This includes numbers, and lower numbers are more commonly used than
26   higher ones. (number arrangement borrowed from [dustypomeleau's minidox
27   layout][].
28
29 Layout rendered with [keyboard-layout-editor.com][]:
30
31 ![](https://callum-oakley.github.io/images/keymap.png)
32
33 The only behaviour not captured in this graphic is: pressing both cmd keys will
34 send cmd+ctrl. See [keymap.c][] for details.
35
36 [dustypomeleau's minidox layout]: https://github.com/qmk/qmk_firmware/tree/master/keyboards/minidox/keymaps/dustypomerleau
37 [keyboard-layout-editor.com]: http://www.keyboard-layout-editor.com
38 [keymap.c]: keymap.c