├── .gitignore ├── zephyr └── module.yml ├── keymap-drawer ├── keyboard-layout-manual.png ├── eyelash_corne.yaml └── eyelash_corne.svg ├── .github └── workflows │ ├── build.yml │ └── draw.yml ├── config ├── west.yml ├── eyelash_corne.conf ├── eyelash_corne.json └── eyelash_corne.keymap ├── README_EN.md ├── README.md └── keymap_drawer.config.yaml /.gitignore: -------------------------------------------------------------------------------- 1 | build/ 2 | zmk/ 3 | modules/ 4 | tools/ 5 | .west/ 6 | -------------------------------------------------------------------------------- /zephyr/module.yml: -------------------------------------------------------------------------------- 1 | build: 2 | settings: 3 | board_root: . 4 | -------------------------------------------------------------------------------- /keymap-drawer/keyboard-layout-manual.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bdimitrako/zmk-new_corne/HEAD/keymap-drawer/keyboard-layout-manual.png -------------------------------------------------------------------------------- /.github/workflows/build.yml: -------------------------------------------------------------------------------- 1 | name: Build ZMK firmware 2 | on: 3 | workflow_dispatch: 4 | push: 5 | paths-ignore: 6 | - "keymap-drawer/**" 7 | 8 | jobs: 9 | build: 10 | uses: zmkfirmware/zmk/.github/workflows/build-user-config.yml@main 11 | -------------------------------------------------------------------------------- /.github/workflows/draw.yml: -------------------------------------------------------------------------------- 1 | name: Draw Keymap 2 | on: 3 | workflow_dispatch: 4 | push: 5 | paths: 6 | - "config/**" 7 | - .github/workflows/draw.yml 8 | - keymap_drawer.config.yaml 9 | 10 | jobs: 11 | draw: 12 | uses: caksoylar/keymap-drawer/.github/workflows/draw-zmk.yml@main 13 | permissions: 14 | contents: write 15 | with: 16 | commit_message: "[Draw] ${{ github.event.head_commit.message }}" 17 | destination: "commit" 18 | fail_on_error: ${{ fromJSON(true) }} 19 | -------------------------------------------------------------------------------- /config/west.yml: -------------------------------------------------------------------------------- 1 | manifest: 2 | remotes: 3 | - name: zmkfirmware 4 | url-base: https://github.com/zmkfirmware 5 | # Additional modules containing boards/shields/custom code can be listed here as well. 6 | # See: 7 | # - https://zmk.dev/docs/features/modules 8 | # - https://docs.zephyrproject.org/3.5.0/develop/west/manifest.html#projects 9 | - name: urob 10 | url-base: https://github.com/urob 11 | # to get the zmk-auto-layer for num-word feature 12 | projects: 13 | - name: eyelash_corne 14 | url: https://github.com/a741725193/zmk-new_corne 15 | revision: main 16 | - name: zmk 17 | remote: zmkfirmware 18 | revision: main 19 | import: app/west.yml 20 | - name: zmk-auto-layer 21 | remote: urob 22 | revision: main # set to same version as zmk 23 | self: 24 | path: config 25 | -------------------------------------------------------------------------------- /config/eyelash_corne.conf: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (c) 2024 The ZMK Contributors 3 | # SPDX-License-Identifier: MIT 4 | # 5 | # go to sleep after one hour (1*60*60*1000ms) 6 | 7 | CONFIG_ZMK_IDLE_SLEEP_TIMEOUT=3600000 8 | 9 | CONFIG_ZMK_SLEEP=y 10 | 11 | CONFIG_WS2812_STRIP=y 12 | CONFIG_ZMK_RGB_UNDERGLOW=y 13 | CONFIG_ZMK_RGB_UNDERGLOW_ON_START=y 14 | 15 | CONFIG_ZMK_RGB_UNDERGLOW_AUTO_OFF_IDLE=y 16 | CONFIG_ZMK_RGB_UNDERGLOW_HUE_START=160 17 | CONFIG_ZMK_RGB_UNDERGLOW_EFF_START=3 18 | 19 | # Uncomment the following line to enable NKRO 20 | #CONFIG_ZMK_HID_REPORT_TYPE_NKRO=y 21 | 22 | # Some operating systems have problems with full support for consumer keycodes. 23 | # Uncomment the following line if keycodes labeled "consumer" like C_AC_SEARCH don't work 24 | #CONFIG_ZMK_HID_CONSUMER_REPORT_USAGES_BASIC=y 25 | 26 | #EC11 enable 27 | CONFIG_EC11=y 28 | CONFIG_EC11_TRIGGER_GLOBAL_THREAD=y 29 | 30 | # Mouse enable 31 | CONFIG_ZMK_MOUSE=y 32 | CONFIG_ZMK_POINTING=y 33 | 34 | CONFIG_ZMK_BACKLIGHT=y 35 | CONFIG_ZMK_BACKLIGHT_BRT_START=100 36 | 37 | # Uncomment the following line to increase the keyboard's wireless range 38 | #CONFIG_BT_CTLR_TX_PWR_PLUS_8=y 39 | 40 | # Possible wake sleep issues fix 41 | #CONFIG_BT_CTLR_PHY_2M=n this did not work and made the disconnections worse 42 | CONFIG_ZMK_BLE_PASSKEY_ENTRY=y 43 | -------------------------------------------------------------------------------- /README_EN.md: -------------------------------------------------------------------------------- 1 | - [Chinese](README.md) 2 | - [English](README_EN.md) 3 | 4 | # 睫毛外设 (Eyelash Peripherals) Corne ZMK Repository 5 | 6 | **This keyboard is not the same as [foostan's Corne](https://github.com/foostan/crkbd). It will not work with standard `corne` firmware.** 7 | 8 | ![Photo of Eyelash Peripherals Corne](https://ae01.alicdn.com/kf/Sa797fee25edd44248fbfdb0e13d44e00B.jpg) 9 | 10 | If you need a 3D model of this keyboard, email `380465425@qq.com`. 11 | 12 | ## Instructions 13 | 14 | 1. [Fork this repository](https://docs.github.com/en/get-started/quickstart/fork-a-repo#forking-a-repository). 15 | 2. [Click the **Actions** tab and make sure the workflow is enabled](https://docs.github.com/en/actions/managing-workflow-runs-and-deployments/managing-workflow-runs/disabling-and-enabling-a-workflow#enabling-a-workflow). 16 | 3. Make sure the `eyelash_corne` project in [`config/west.yml`](config/west.yml) still works. The `boards/arm/eyelash_corne` folder will be downloaded from this URL. 17 | 4. If there is still a `boards/arm/eyelash_corne` folder in your fork, delete it. 18 | 19 | **If you already have a ZMK config repository, [you can add this one as a module instead of forking](https://zmk.dev/docs/features/modules#building-with-modules).** 20 | 21 | ## Keymap Diagram 22 | 23 | ![Diagram of config/eyelash_corne.keymap](keymap-drawer/eyelash_corne.svg "generated by @caksoylar's Keymap Drawer") 24 | 25 | -------------------------------------------------------------------------------- /config/eyelash_corne.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "eyelash_corne", 3 | "name": "Eyelash Corne", 4 | "layouts": { 5 | "default_layout": { 6 | "name": "default_layout", 7 | "layout": [ 8 | { "row": 0, "col": 0, "x": 0, "y": 0.37 }, 9 | { "row": 0, "col": 1, "x": 1, "y": 0.37 }, 10 | { "row": 0, "col": 2, "x": 2, "y": 0.12 }, 11 | { "row": 0, "col": 3, "x": 3, "y": 0 }, 12 | { "row": 0, "col": 4, "x": 4, "y": 0.12 }, 13 | { "row": 0, "col": 5, "x": 5, "y": 0.24 }, 14 | { "row": 0, "col": 9, "x": 9.25, "y": 0.24, "label": "5-way up" }, 15 | { "row": 0, "col": 11, "x": 11.5, "y": 0.24 }, 16 | { "row": 0, "col": 12, "x": 12.5, "y": 0.12 }, 17 | { "row": 0, "col": 13, "x": 13.5, "y": 0 }, 18 | { "row": 0, "col": 14, "x": 14.5, "y": 0.12 }, 19 | { "row": 0, "col": 15, "x": 15.5, "y": 0.37 }, 20 | { "row": 0, "col": 16, "x": 16.5, "y": 0.37 }, 21 | 22 | { "row": 1, "col": 0, "x": 0, "y": 1.37 }, 23 | { "row": 1, "col": 1, "x": 1, "y": 1.37 }, 24 | { "row": 1, "col": 2, "x": 2, "y": 1.12 }, 25 | { "row": 1, "col": 3, "x": 3, "y": 1 }, 26 | { "row": 1, "col": 4, "x": 4, "y": 1.12 }, 27 | { "row": 1, "col": 5, "x": 5, "y": 1.24 }, 28 | { "row": 1, "col": 8, "x": 8.25, "y": 1.24, "label": "5-way left" }, 29 | { "row": 1, "col": 9, "x": 9.25, "y": 1.24, "label": "5-way press" }, 30 | { "row": 1, "col": 10, "x": 10.25, "y": 1.24, "label": "5-way right" }, 31 | { "row": 1, "col": 11, "x": 11.5, "y": 1.24 }, 32 | { "row": 1, "col": 12, "x": 12.5, "y": 1.12 }, 33 | { "row": 1, "col": 13, "x": 13.5, "y": 1 }, 34 | { "row": 1, "col": 14, "x": 14.5, "y": 1.12 }, 35 | { "row": 1, "col": 15, "x": 15.5, "y": 1.37 }, 36 | { "row": 1, "col": 16, "x": 16.5, "y": 1.37 }, 37 | 38 | { "row": 2, "col": 0, "x": 0, "y": 2.37 }, 39 | { "row": 2, "col": 1, "x": 1, "y": 2.37 }, 40 | { "row": 2, "col": 2, "x": 2, "y": 2.12 }, 41 | { "row": 2, "col": 3, "x": 3, "y": 2 }, 42 | { "row": 2, "col": 4, "x": 4, "y": 2.12 }, 43 | { "row": 2, "col": 5, "x": 5, "y": 2.24 }, 44 | { "row": 2, "col": 6, "x": 6.25, "y": 2.24, "label": "4\n2" }, 45 | { "row": 2, "col": 9, "x": 9.25, "y": 2.24, "label": "5-way down" }, 46 | { "row": 2, "col": 11, "x": 11.5, "y": 2.24 }, 47 | { "row": 2, "col": 12, "x": 12.5, "y": 2.12 }, 48 | { "row": 2, "col": 13, "x": 13.5, "y": 2 }, 49 | { "row": 2, "col": 14, "x": 14.5, "y": 2.12 }, 50 | { "row": 2, "col": 15, "x": 15.5, "y": 2.37 }, 51 | { "row": 2, "col": 16, "x": 16.5, "y": 2.37 }, 52 | 53 | { "row": 3, "col": 3, "x": 3.5, "y": 3.12 }, 54 | { "row": 3, "col": 4, "x": 4.5, "y": 3.12, "r": 12, "rx": 4.5, "ry": 4.12 }, 55 | { "row": 3, "col": 5, "x": 5.5, "y": 3.12, "r": 24, "rx": 5.15, "ry": 4.33 }, 56 | { "row": 3, "col": 11, "x": 11, "y": 3.12, "r": -24, "rx": 12.3, "ry": 4.33 }, 57 | { "row": 3, "col": 12, "x": 12, "y": 3.12, "r": -12, "rx": 13, "ry": 4.12 }, 58 | { "row": 3, "col": 13, "x": 13, "y": 3.12 } 59 | ] 60 | } 61 | }, 62 | "sensors": [ 63 | { 64 | "ref": "left_encoder", 65 | "name": "encoder_left", 66 | "identifier": "encoder_left", 67 | "compatible": "alps,ec11", 68 | "label": "LEFT_ENCODER", 69 | "enabled": true 70 | } 71 | ] 72 | } 73 | -------------------------------------------------------------------------------- /keymap-drawer/eyelash_corne.yaml: -------------------------------------------------------------------------------- 1 | layers: 2 | COLEDH: 3 | - $$mdi:keyboard-esc$$ 4 | - Q 5 | - W 6 | - F 7 | - P 8 | - B 9 | - $$mdi:arrow-up-bold$$ 10 | - J 11 | - L 12 | - U 13 | - Y 14 | - {t: '''', s: '"'} 15 | - {t: '`', s: '~'} 16 | - $$mdi:keyboard-tab$$ 17 | - A 18 | - R 19 | - S 20 | - T 21 | - G 22 | - $$mdi:arrow-left-bold$$ 23 | - {t: '$$mdi:minus-circle-outline$$', type: none} 24 | - $$mdi:arrow-right-bold$$ 25 | - M 26 | - N 27 | - E 28 | - I 29 | - O 30 | - {t: /, s: '?'} 31 | - {t: '$$mdi:apple-keyboard-control$$', h: '$$mdi:apple-keyboard-shift$$'} 32 | - Z 33 | - X 34 | - C 35 | - D 36 | - V 37 | - Gui+Alt+K 38 | - $$mdi:arrow-down-bold$$ 39 | - K 40 | - H 41 | - {t: ',', s: <} 42 | - . 43 | - {t: ;, h: RIGHT WIN, s: ':'} 44 | - {t: '$$mdi:keyboard-return$$', type: enter} 45 | - {t: SYMBOL, h: SYMBOL} 46 | - {t: '&num_word 1', h: NUMBER} 47 | - {t: '$$mdi:keyboard-space$$', h: NAV} 48 | - {t: '$$mdi:apple-keyboard-shift$$', h: FUN} 49 | - {t: 'Gui+$$mdi:keyboard-space$$', h: BLTRGB} 50 | - $$mdi:apple-keyboard-option$$ 51 | NUMBER: 52 | - {t: COLEDH, h: toggle} 53 | - {t: 'Ctl+$$mdi:backspace$$', type: backspace} 54 | - {t: '$$mdi:backspace$$', type: backspace} 55 | - $$mdi:keyboard-esc$$ 56 | - $$mdi:backspace-reverse-outline$$ 57 | - Ctl+$$mdi:backspace-reverse-outline$$ 58 | - {t: '$$mdi:transfer$$', type: trans} 59 | - KP PLUS 60 | - {t: '7', s: '&'} 61 | - {t: '8', s: '*'} 62 | - {t: '9', s: (} 63 | - {t: '=', s: +} 64 | - {t: '$$mdi:minus-circle-outline$$', type: none} 65 | - {t: '$$mdi:minus-circle-outline$$', type: none} 66 | - {t: LEFT WIN, h: LEFT WIN} 67 | - {t: '$$mdi:apple-keyboard-option$$', h: '$$mdi:apple-keyboard-option$$'} 68 | - {t: '$$mdi:apple-keyboard-control$$', h: '$$mdi:apple-keyboard-control$$'} 69 | - {t: '$$mdi:apple-keyboard-shift$$', h: '$$mdi:apple-keyboard-shift$$'} 70 | - AL CALCULATOR 71 | - {t: '$$mdi:transfer$$', type: trans} 72 | - {t: '$$mdi:transfer$$', type: trans} 73 | - {t: '$$mdi:transfer$$', type: trans} 74 | - KP MINUS 75 | - {t: '4', s: $} 76 | - {t: '5', s: '%'} 77 | - {t: '6', s: ^} 78 | - {t: '0', s: )} 79 | - {t: '$$mdi:minus-circle-outline$$', type: none} 80 | - {t: '$$mdi:minus-circle-outline$$', type: none} 81 | - {t: NUMBER, h: toggle} 82 | - {t: SYMBOL, h: toggle} 83 | - {t: NAV, h: toggle} 84 | - {t: FUN, h: toggle} 85 | - {t: '$$mdi:minus-circle-outline$$', type: none} 86 | - $$mdi:volume-off$$ 87 | - {t: '$$mdi:transfer$$', type: trans} 88 | - KP MULTIPLY 89 | - {t: '1', s: '!'} 90 | - {t: '2', s: '@'} 91 | - {t: '3', s: '#'} 92 | - '%' 93 | - KP ENTER 94 | - {t: '$$mdi:minus-circle-outline$$', type: none} 95 | - {t: COLEDH, h: toggle, type: held} 96 | - $$mdi:keyboard-space$$ 97 | - KP DIVIDE 98 | - KP DOT 99 | - KP NUMLOCK 100 | SYMBOL: 101 | - {t: COLEDH, h: toggle} 102 | - {t: '$$mdi:minus-circle-outline$$', type: none} 103 | - '{' 104 | - {t: '=', s: +} 105 | - '}' 106 | - {t: '$$mdi:minus-circle-outline$$', type: none} 107 | - {t: '$$mdi:transfer$$', type: trans} 108 | - {t: '=', s: +} 109 | - '&' 110 | - '*' 111 | - ^ 112 | - '&middledot' 113 | - {t: '$$mdi:minus-circle-outline$$', type: none} 114 | - {t: '$$mdi:minus-circle-outline$$', type: none} 115 | - LEFT WIN 116 | - $$mdi:apple-keyboard-option$$ 117 | - $$mdi:apple-keyboard-control$$ 118 | - $$mdi:apple-keyboard-shift$$ 119 | - '%' 120 | - {t: '$$mdi:transfer$$', type: trans} 121 | - {t: '$$mdi:transfer$$', type: trans} 122 | - {t: '$$mdi:transfer$$', type: trans} 123 | - '%' 124 | - '!' 125 | - '@' 126 | - '#' 127 | - $ 128 | - {t: '$$mdi:minus-circle-outline$$', type: none} 129 | - {t: '$$mdi:minus-circle-outline$$', type: none} 130 | - {t: '[', s: '{'} 131 | - {t: ']', s: '}'} 132 | - ( 133 | - ) 134 | - {t: /, s: '?'} 135 | - {t: '$$mdi:transfer$$', type: trans} 136 | - {t: '$$mdi:transfer$$', type: trans} 137 | - {t: '[', s: '{'} 138 | - ( 139 | - ) 140 | - {t: ']', s: '}'} 141 | - {t: '`', s: '~'} 142 | - {t: '$$mdi:keyboard-return$$', type: enter} 143 | - {t: \, s: '|', type: held} 144 | - {t: COLEDH, h: toggle} 145 | - _ 146 | - _ 147 | - {t: '-', s: _} 148 | - {t: \, s: '|'} 149 | NAV: 150 | - {t: COLEDH, h: toggle} 151 | - F1 152 | - F2 153 | - {t: '$$mdi:menu-up$$', s: '$$mdi:mouse$$'} 154 | - F4 155 | - F5 156 | - {t: '$$mdi:transfer$$', type: trans} 157 | - Ctl+Y 158 | - Ctl+C 159 | - $$mdi:arrow-up-bold$$ 160 | - Ctl+V 161 | - Ctl+Z 162 | - F11 163 | - Ctl+A 164 | - F3 165 | - {t: '$$mdi:menu-left$$', s: '$$mdi:mouse$$'} 166 | - {t: '$$mdi:menu-down$$', s: '$$mdi:mouse$$'} 167 | - {t: '$$mdi:menu-right$$', s: '$$mdi:mouse$$'} 168 | - '&mkp MB4' 169 | - {t: '$$mdi:transfer$$', type: trans} 170 | - {t: '$$mdi:transfer$$', type: trans} 171 | - {t: '$$mdi:transfer$$', type: trans} 172 | - Gui+Sft+D 173 | - $$mdi:arrow-left-bold$$ 174 | - $$mdi:arrow-down-bold$$ 175 | - $$mdi:arrow-right-bold$$ 176 | - Ctl+X 177 | - F12 178 | - {t: '$$mdi:transfer$$', type: trans} 179 | - $$mdi:pan-left$$ 180 | - $$mdi:pan-up$$ 181 | - $$mdi:pan-down$$ 182 | - $$mdi:pan-right$$ 183 | - '&mkp MB5' 184 | - $$mdi:volume-off$$ 185 | - {t: '$$mdi:transfer$$', type: trans} 186 | - Ins 187 | - HOME 188 | - PgDn 189 | - PgUp 190 | - END 191 | - {t: '$$mdi:keyboard-return$$', type: enter} 192 | - $$mdi:apple-keyboard-shift$$ 193 | - {t: COLEDH, h: toggle} 194 | - {t: '$$mdi:apple-keyboard-control$$', type: held} 195 | - $$mdi:mouse-left-click-outline$$ 196 | - $$mdi:mouse-right-click-outline$$ 197 | - $$mdi:mouse-scroll-wheel$$ 198 | BLTRGB: 199 | - {t: COLEDH, h: toggle} 200 | - RGB HUD 201 | - RGB HUI 202 | - RGB BRI 203 | - RGB BRD 204 | - RGB EFF 205 | - {t: '$$mdi:minus-circle-outline$$', type: none} 206 | - {t: '$$mdi:minus-circle-outline$$', type: none} 207 | - {t: '$$mdi:minus-circle-outline$$', type: none} 208 | - {t: '$$mdi:minus-circle-outline$$', type: none} 209 | - {t: '$$mdi:minus-circle-outline$$', type: none} 210 | - {t: '$$mdi:minus-circle-outline$$', type: none} 211 | - $$mdi:bluetooth-off$$ 212 | - {t: '$$mdi:minus-circle-outline$$', type: none} 213 | - {h: '1', s: '$$mdi:bluetooth-connect$$'} 214 | - {h: '2', s: '$$mdi:bluetooth-connect$$'} 215 | - {h: '3', s: '$$mdi:bluetooth-connect$$'} 216 | - {h: '4', s: '$$mdi:bluetooth-connect$$'} 217 | - {h: '5', s: '$$mdi:bluetooth-connect$$'} 218 | - {t: '$$mdi:minus-circle-outline$$', type: none} 219 | - {t: '$$mdi:minus-circle-outline$$', type: none} 220 | - {t: '$$mdi:minus-circle-outline$$', type: none} 221 | - {t: '$$mdi:minus-circle-outline$$', type: none} 222 | - $$mdi:apple-keyboard-shift$$ 223 | - $$mdi:apple-keyboard-control$$ 224 | - $$mdi:apple-keyboard-option$$ 225 | - RIGHT WIN 226 | - {t: '$$mdi:minus-circle-outline$$', type: none} 227 | - {t: '$$mdi:minus-circle-outline$$', type: none} 228 | - RGB OFF 229 | - RGB ON 230 | - RGB SPI 231 | - RGB SPD 232 | - RGB EFR 233 | - {t: '$$mdi:minus-circle-outline$$', type: none} 234 | - {t: '$$mdi:minus-circle-outline$$', type: none} 235 | - {t: '$$mdi:minus-circle-outline$$', type: none} 236 | - {t: '$$mdi:minus-circle-outline$$', type: none} 237 | - {t: '$$mdi:minus-circle-outline$$', type: none} 238 | - {t: '$$mdi:minus-circle-outline$$', type: none} 239 | - {t: '$$mdi:minus-circle-outline$$', type: none} 240 | - {t: '$$mdi:minus-circle-outline$$', type: none} 241 | - $$mdi:backspace-reverse-outline$$ 242 | - {t: COLEDH, h: toggle} 243 | - {t: '$$mdi:backspace$$', type: backspace} 244 | - {t: '$$mdi:minus-circle-outline$$', type: none} 245 | - {t: '$$mdi:minus-circle-outline$$', type: held} 246 | - {t: '$$mdi:minus-circle-outline$$', type: none} 247 | FUN: 248 | - {t: COLEDH, h: toggle} 249 | - F10 250 | - F7 251 | - F8 252 | - F9 253 | - PAUSE BREAK 254 | - {t: '$$mdi:transfer$$', type: trans} 255 | - {t: '$$mdi:minus-circle-outline$$', type: none} 256 | - {t: '$$mdi:minus-circle-outline$$', type: none} 257 | - {t: '$$mdi:minus-circle-outline$$', type: none} 258 | - {t: '$$mdi:minus-circle-outline$$', type: none} 259 | - {t: '$$mdi:minus-circle-outline$$', type: none} 260 | - {t: '$$mdi:minus-circle-outline$$', type: none} 261 | - {t: '$$mdi:minus-circle-outline$$', type: none} 262 | - F11 263 | - F4 264 | - F5 265 | - F6 266 | - PRINTSCREEN 267 | - {t: '$$mdi:transfer$$', type: trans} 268 | - {t: '$$mdi:transfer$$', type: trans} 269 | - {t: '$$mdi:transfer$$', type: trans} 270 | - {t: '$$mdi:minus-circle-outline$$', type: none} 271 | - $$mdi:apple-keyboard-shift$$ 272 | - $$mdi:apple-keyboard-control$$ 273 | - $$mdi:apple-keyboard-option$$ 274 | - RIGHT WIN 275 | - {t: '$$mdi:minus-circle-outline$$', type: none} 276 | - {t: '$$mdi:minus-circle-outline$$', type: none} 277 | - F12 278 | - F1 279 | - F2 280 | - F3 281 | - SCROLLLOCK 282 | - {t: '$$mdi:minus-circle-outline$$', type: none} 283 | - {t: '$$mdi:transfer$$', type: trans} 284 | - {t: '$$mdi:minus-circle-outline$$', type: none} 285 | - $$mdi:play-pause$$ 286 | - $$mdi:skip-previous$$ 287 | - $$mdi:skip-next$$ 288 | - {t: '$$mdi:minus-circle-outline$$', type: none} 289 | - {t: '$$mdi:keyboard-return$$', type: enter} 290 | - APP 291 | - {t: COLEDH, h: toggle} 292 | - $$mdi:keyboard-tab$$ 293 | - {t: '$$mdi:minus-circle-outline$$', type: held} 294 | - APP 295 | - {t: '$$mdi:minus-circle-outline$$', type: none} 296 | MINECR: 297 | - $$mdi:keyboard-esc$$ 298 | - {t: '$$mdi:transfer$$', type: trans} 299 | - E 300 | - W 301 | - F 302 | - {t: '1', s: '!'} 303 | - {t: '$$mdi:transfer$$', type: trans} 304 | - KP NUMLOCK 305 | - KP 7 306 | - KP 8 307 | - KP 9 308 | - '%' 309 | - {t: '$$mdi:transfer$$', type: trans} 310 | - {t: COLEDH, h: toggle} 311 | - L 312 | - A 313 | - S 314 | - D 315 | - {t: '2', s: '@'} 316 | - {t: '$$mdi:transfer$$', type: trans} 317 | - {t: '$$mdi:transfer$$', type: trans} 318 | - {t: '$$mdi:transfer$$', type: trans} 319 | - $$mdi:mouse-left-click-outline$$ 320 | - KP 4 321 | - KP 5 322 | - KP 6 323 | - {t: '$$mdi:transfer$$', type: trans} 324 | - {t: '$$mdi:transfer$$', type: trans} 325 | - $$mdi:apple-keyboard-control$$ 326 | - F1 327 | - F2 328 | - F3 329 | - F4 330 | - {t: '3', s: '#'} 331 | - {t: COLEDH, h: toggle} 332 | - {t: '$$mdi:transfer$$', type: trans} 333 | - $$mdi:mouse-right-click-outline$$ 334 | - KP 1 335 | - KP 2 336 | - KP 3 337 | - KP DOT 338 | - KP ENTER 339 | - {t: COLEDH, h: toggle} 340 | - $$mdi:apple-keyboard-shift$$ 341 | - $$mdi:keyboard-space$$ 342 | - $$mdi:mouse-left-click-outline$$ 343 | - $$mdi:mouse-right-click-outline$$ 344 | - KP 0 345 | combos: 346 | - p: [23, 24] 347 | k: {t: '$$mdi:backspace$$', type: backspace} 348 | - p: [24, 25] 349 | k: $$mdi:backspace-reverse-outline$$ 350 | - p: [31, 32] 351 | k: $$mdi:apple-keyboard-caps$$ 352 | l: [COLEDH] 353 | - p: [16, 17] 354 | k: $$mdi:alpha-w-box$$ 355 | l: [COLEDH] 356 | - p: [44, 45] 357 | k: {t: COLEDH, h: toggle} 358 | - p: [2, 3, 4] 359 | k: {t: MINECR, h: toggle} 360 | -------------------------------------------------------------------------------- /config/eyelash_corne.keymap: -------------------------------------------------------------------------------- 1 | #include // urob's num word from zkm auto layer 2 | #include 3 | #include 4 | 5 | #define ZMK_POINTING_DEFAULT_MOVE_VAL 1800 // 600, 1200 6 | #define ZMK_MOUSE_DEFAULT_SCRL_VAL 20 // 10 7 | 8 | #include 9 | #include 10 | #include 11 | #include 12 | #include 13 | #include 14 | #include 15 | 16 | / { 17 | behaviors { 18 | mmv { 19 | acceleration-exponent = <2>; // 1 20 | time-to-max-speed-ms = <40>; // 40 21 | delay-ms = <0>; // 0 22 | }; 23 | 24 | shiftnextcaps: shiftnextcaps { 25 | compatible = "zmk,behavior-tap-dance"; 26 | display-name = "Shift/Caps Lock Tap Dance"; 27 | #binding-cells = <0>; 28 | bindings = <&sk RIGHT_SHIFT>, <&kp CAPS>; 29 | 30 | label = "shiftnextcaps"; 31 | }; 32 | 33 | hml: hml { 34 | compatible = "zmk,behavior-hold-tap"; 35 | label = "HML"; 36 | bindings = <&kp>, <&kp>; 37 | 38 | #binding-cells = <2>; 39 | tapping-term-ms = <165>; 40 | quick-tap-ms = <0>; 41 | flavor = "tap-preferred"; 42 | hold-trigger-key-positions = <14 15 16 17 23 24 25 26>; 43 | require-prior-idle-ms = <20>; 44 | }; 45 | 46 | sk_mo: sk_mo { 47 | compatible = "zmk,behavior-hold-tap"; 48 | label = "SK_MO"; 49 | bindings = <&mo>, <&sk>; 50 | 51 | #binding-cells = <2>; 52 | tapping-term-ms = <150>; 53 | flavor = "tap-preferred"; 54 | }; 55 | 56 | sl_mo: sl_mo { 57 | compatible = "zmk,behavior-hold-tap"; 58 | label = "SL_MO"; 59 | bindings = <&mo>, <&sl>; 60 | 61 | #binding-cells = <2>; 62 | tapping-term-ms = <160>; 63 | flavor = "tap-preferred"; 64 | }; 65 | 66 | num_word: num_word { 67 | compatible = "zmk,behavior-auto-layer"; 68 | #binding-cells = <1>; 69 | continue-list = ; 70 | ignore-numbers; 71 | }; 72 | 73 | smart_num: smart_num { 74 | compatible = "zmk,behavior-hold-tap"; 75 | label = "SMART_NUM"; 76 | bindings = <&mo>, <&num_word>; 77 | 78 | #binding-cells = <2>; 79 | tapping-term-ms = <150>; 80 | flavor = "tap-preferred"; 81 | hold-trigger-key-positions = <43>; 82 | }; 83 | 84 | sk_kp: sk_kp { 85 | compatible = "zmk,behavior-hold-tap"; 86 | label = "SK_KP"; 87 | bindings = <&kp>, <&sk>; 88 | 89 | #binding-cells = <2>; 90 | tapping-term-ms = <160>; 91 | flavor = "balanced"; 92 | hold-trigger-key-positions = <28>; 93 | }; 94 | }; 95 | 96 | rgb_encoder: rgb_encoder { 97 | compatible = "zmk,behavior-sensor-rotate"; 98 | #sensor-binding-cells = <0>; 99 | bindings = <&rgb_ug RGB_BRI>, <&rgb_ug RGB_BRD>; 100 | }; 101 | 102 | scroll_encoder: scroll_encoder { 103 | compatible = "zmk,behavior-sensor-rotate"; 104 | #sensor-binding-cells = <0>; 105 | bindings = <&msc SCRL_DOWN>, <&msc SCRL_UP>; 106 | 107 | tap-ms = <30>; 108 | }; 109 | 110 | combos { 111 | compatible = "zmk,combos"; 112 | 113 | cmb_back { 114 | bindings = <&kp BACKSPACE>; 115 | key-positions = <23 24>; 116 | }; 117 | 118 | cmb_del { 119 | bindings = <&kp DEL>; 120 | key-positions = <24 25>; 121 | }; 122 | 123 | cmb_caps { 124 | bindings = <&kp CAPS>; 125 | key-positions = <31 32>; 126 | layers = <0>; 127 | }; 128 | 129 | smartcaps { 130 | bindings = <&caps_word>; 131 | key-positions = <16 17>; 132 | layers = <0>; 133 | }; 134 | 135 | togbase { 136 | bindings = <&tog 0>; 137 | key-positions = <44 45>; 138 | }; 139 | 140 | togmncft { 141 | bindings = <&tog 6>; 142 | key-positions = <2 3 4>; 143 | }; 144 | }; 145 | 146 | macros { 147 | middledot: middledot { 148 | compatible = "zmk,behavior-macro"; 149 | #binding-cells = <0>; 150 | bindings = 151 | <¯o_press>, 152 | <&kp LEFT_ALT>, 153 | <¯o_tap>, 154 | <&kp KP_N0 &kp KP_N1 &kp KP_N8 &kp KP_N3>, 155 | <¯o_release>, 156 | <&kp LEFT_ALT>; 157 | 158 | label = "MIDDLEDOT"; 159 | }; 160 | }; 161 | 162 | keymap { 163 | compatible = "zmk,keymap"; 164 | 165 | default_layer { 166 | display-name = "COLEDH"; 167 | bindings = < 168 | &kp ESC &kp Q &kp W &kp F &kp P &kp B &kp UP &kp J &kp L &kp U &kp Y &kp SQT &kp GRAVE 169 | &kp TAB &kp A &kp R &kp S &kp T &kp G &kp LEFT &none &kp RIGHT &kp M &kp N &kp E &kp I &kp O &kp FSLH 170 | &sk_kp LEFT_SHIFT LCTRL &kp Z &kp X &kp C &kp D &kp V &kp LG(LA(K)) &kp DOWN &kp K &kp H &kp COMMA &kp PERIOD &hml RIGHT_WIN SEMI &kp RET 171 | &sl_mo 2 2 &smart_num 1 1 < 3 SPACE &sk_mo 5 RIGHT_SHIFT < 4 LG(SPACE) &kp LEFT_ALT 172 | >; 173 | 174 | sensor-bindings = <&inc_dec_kp C_VOLUME_UP C_VOLUME_DOWN>; 175 | label = "COLEDH"; 176 | }; 177 | 178 | lower_layer { 179 | display-name = "NUMBER"; 180 | bindings = < 181 | &to 0 &kp LC(BACKSPACE) &kp BACKSPACE &kp ESCAPE &kp DEL &kp LC(DELETE) &trans &kp KP_PLUS &kp N7 &kp N8 &kp N9 &kp EQUAL &none 182 | &none &sk_kp LEFT_WIN LEFT_WIN &sk_kp LEFT_ALT LEFT_ALT &sk_kp LCTRL LEFT_CONTROL &sk_kp LEFT_SHIFT LEFT_SHIFT &kp C_AL_CALCULATOR &trans &trans &trans &kp KP_MINUS &kp N4 &kp N5 &kp N6 &kp N0 &none 183 | &none &tog 1 &tog 2 &tog 3 &tog 5 &none &kp C_MUTE &trans &kp KP_MULTIPLY &kp N1 &kp N2 &kp N3 &kp PERCENT &kp KP_ENTER 184 | &none &to 0 &kp SPACE &kp KP_DIVIDE &kp KP_DOT &kp KP_NUMLOCK 185 | >; 186 | 187 | sensor-bindings = <&inc_dec_kp C_VOL_UP C_VOL_DN>; 188 | }; 189 | 190 | raise_layer { 191 | display-name = "SYMBOL"; 192 | bindings = < 193 | &to 0 &none &kp LEFT_BRACE &kp EQUAL &kp RIGHT_BRACE &none &trans &kp EQUAL &kp AMPERSAND &kp STAR &kp CARET &middledot &none 194 | &none &kp LEFT_WIN &kp LEFT_ALT &kp LCTRL &kp LEFT_SHIFT &kp PERCENT &trans &trans &trans &kp PERCENT &kp EXCLAMATION &kp AT_SIGN &kp HASH &kp DOLLAR &none 195 | &none &kp LEFT_BRACKET &kp RIGHT_BRACKET &kp LEFT_PARENTHESIS &kp RIGHT_PARENTHESIS &kp SLASH &trans &trans &kp LEFT_BRACKET &kp LEFT_PARENTHESIS &kp RIGHT_PARENTHESIS &kp RIGHT_BRACKET &kp GRAVE &kp RET 196 | &kp BACKSLASH &to 0 &kp UNDER &kp UNDERSCORE &kp MINUS &kp BACKSLASH 197 | >; 198 | 199 | sensor-bindings = <&inc_dec_kp C_VOL_UP C_VOL_DN>; 200 | }; 201 | 202 | layer_3 { 203 | display-name = "NAV"; 204 | bindings = < 205 | &to 0 &kp F1 &kp F2 &mmv MOVE_UP &kp F4 &kp F5 &trans &kp LC(Y) &kp LC(C) &kp UP &kp LC(V) &kp LC(Z) &kp F11 206 | &kp LC(A) &kp F3 &mmv MOVE_LEFT &mmv MOVE_DOWN &mmv MOVE_RIGHT &mkp MB4 &trans &trans &trans &kp LG(LS(D)) &kp LEFT &kp DOWN &kp RIGHT &kp LC(X) &kp F12 207 | &trans &msc SCRL_LEFT &msc SCRL_UP &msc SCRL_DOWN &msc SCRL_RIGHT &mkp MB5 &kp C_MUTE &trans &kp INSERT &kp HOME &kp PAGE_DOWN &kp PAGE_UP &kp END &kp ENTER 208 | &kp LEFT_SHIFT &to 0 &kp LCTRL &mkp LCLK &mkp RCLK &mkp MCLK 209 | >; 210 | 211 | sensor-bindings = <&inc_dec_kp C_VOL_UP C_VOL_DN>; 212 | label = "NAV"; 213 | }; 214 | 215 | layer_4 { 216 | bindings = < 217 | &to 0 &rgb_ug RGB_HUD &rgb_ug RGB_HUI &rgb_ug RGB_BRI &rgb_ug RGB_BRD &rgb_ug RGB_EFF &none &none &none &none &none &none &bt BT_CLR 218 | &none &bt BT_SEL 0 &bt BT_SEL 1 &bt BT_SEL 2 &bt BT_SEL 3 &bt BT_SEL 4 &none &none &none &none &kp RIGHT_SHIFT &kp RCTRL &kp RIGHT_ALT &kp RIGHT_WIN &none 219 | &none &rgb_ug RGB_OFF &rgb_ug RGB_ON &rgb_ug RGB_SPI &rgb_ug RGB_SPD &rgb_ug RGB_EFR &none &none &none &none &none &none &none &none 220 | &kp DEL &to 0 &kp BSPC &none &none &none 221 | >; 222 | 223 | label = "BLTRGB"; 224 | sensor-bindings = <&rgb_encoder>; 225 | }; 226 | 227 | layer_5 { 228 | bindings = < 229 | &to 0 &kp F10 &kp F7 &kp F8 &kp F9 &kp PAUSE_BREAK &trans &none &none &none &none &none &none 230 | &none &kp F11 &kp F4 &kp F5 &kp F6 &kp PRINTSCREEN &trans &trans &trans &none &kp RIGHT_SHIFT &kp RCTRL &kp RIGHT_ALT &kp RIGHT_WIN &none 231 | &none &kp F12 &kp F1 &kp F2 &kp F3 &kp SCROLLLOCK &none &trans &none &kp C_PP &kp C_PREV &kp C_NEXT &none &kp ENTER 232 | &kp K_APP &to 0 &kp TAB &none &kp K_APP &none 233 | >; 234 | 235 | label = "FUN"; 236 | sensor-bindings = <&inc_dec_kp C_VOL_UP C_VOL_DN>; 237 | }; 238 | 239 | layer_6 { 240 | bindings = < 241 | &kp ESC &trans &kp E &kp W &kp F &kp N1 &trans &kp KP_NUMLOCK &kp KP_NUMBER_7 &kp KP_N8 &kp KP_N9 &kp PRCNT &trans 242 | &to 0 &kp L &kp A &kp S &kp D &kp N2 &trans &trans &trans &mkp LCLK &kp KP_N4 &kp KP_N5 &kp KP_N6 &trans &trans 243 | &kp LCTRL &kp F1 &kp F2 &kp F3 &kp F4 &kp N3 &to 0 &trans &mkp RCLK &kp KP_N1 &kp KP_N2 &kp KP_N3 &kp KP_DOT &kp KP_ENTER 244 | &to 0 &kp LSHFT &kp SPACE &mkp LCLK &mkp RCLK &kp KP_N0 245 | >; 246 | 247 | label = "MINECR"; 248 | sensor-bindings = <&scroll_encoder>; 249 | }; 250 | }; 251 | }; 252 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ## Corne keymap by layer 2 | ![Diagram of config/eyelash_corne.keymap](keymap-drawer/eyelash_corne.svg "generated by @caksoylar's Keymap Drawer") 3 | 4 | [English](README_EN.md) 5 | 6 | # Customising Corne 7 | 8 | ## Base Layer 9 | Customising a base layer to hadle some basic needs 10 | 11 | ### QWERTY replacement with modified COLEMAK-DH 12 | I replaced QWERTY with a faster layout—Colemak DH—but made a slight adjustment to the placement of the ', /, ; characters. This change was to make the accent giver (;:) key more accessible for my right pinky, as almost every Greek word requires accents. This small tweak significantly improves typing efficiency in Greek. 13 | 14 | ### EN/GR language switcher 15 | Switching between my main languages (English/Greek) is seamless. I’ve set up an on-tap behavior on the middle left thumb key that triggers Win+Space (the language switcher in Windows). This allows me to effortlessly switch languages mid-sentence without losing speed, even in complex cases like: 16 | 17 | "Το Project Plan μας αποτελείται από 4 sprints των 3 εβδομάδων." 18 | 19 | This setup makes multilingual typing smooth and natural. 20 | 21 | ### Shortcuts 22 | Used to have home row mods that made initiating combos slightly slower so I moved the home row located mods to symbol and number layer left half. 23 | Moreover, in base layer their is sk_mo (sticky key on tap and momentarily layer on hold) behaviour to help me faster input shortcuts like ctrl+t,w,s,c,v etc. 24 | Ctrl sticky lives on inner right thumb key cluster. 25 | Shift sticky lives on outer right thumb key cluster 26 | Win mod is over pinky ;: key to help in combos like win+e,i,l,t win shift s etc. 27 | On left half there is dedicated keys for ctrl in alt to have access to ribbon menu with keyboard instead of mouse. 28 | 29 | Most common keyboard shortcuts used 30 | * win+arrow (from the joystick) to move app windows around 31 | * win+number to activate the equivalent pinned item of windows taskbar 32 | * win+shift+number to open a new session -//- 33 | * win+L to lock in windows 34 | * win+r to run cmd etc 35 | * win+i to access windows settings and connect to my wireless headset if not immediately connected (i find it faster than win+k that is searching devices) 36 | * win+e to open file explorer 37 | * win+shift+tilde(`) to access the windows power toys app zones editor 38 | * win+shift+S to take a screenshot (might add a conditional layer on this to activate nav layer so that I can cut the part of the screen I want to capture directly after the trigger) 39 | * win+alt+k as a combo stored in rotary encoder click to easy toggle mic mute accross system (yes overrides teams mute also) super handy 40 | * ctr+t new tab in browsers, file explorer, format as table in excel 41 | * ctr+n new window, new folder 42 | * ctr+shift+r to hard refresh tab 43 | * ctr+1 to open options in excel 44 | * ctr+w to quit 45 | * ctr+f to find 46 | * ctr+L to access the address bar (combo this with win+number makes me super fast in opening new tabs or copying url to provide to another app) 47 | * ctr+backspace to delete word by word (backspace is combo of n,e) 48 | * ctr+tilde to reveal formulas in excel 49 | * alt+arrow to navigate in file explorer 50 | 51 | _Why is there a dedicated Alt button when I already have Alt in my home row mods?_ 52 | 53 | The reason is that home row mods require holding down a key, which takes a bit of time. This can be inconvenient, especially in Excel, where pressing and releasing the Alt key gives you quick access to the ribbon, allowing you to navigate and select items by typing a series of keys. 54 | 55 | While I can trigger these actions in Excel using the / key, in Windows, pressing Alt along with the underlined key in a menu provides keyboard access to any item in the context menu. 56 | 57 | _Sticky shift, Caps, dtap/tap, combos_ 58 | 59 | Having a sticky Shift or a Caps dual-tap/tap mod on the right-hand thumb cluster is incredibly useful for capitalizing the first letter of each word with a single tap. This setup not only reduces the strain of holding down the Shift key but also improves typing speed, especially when punctuation is involved, as it seamlessly integrates into the typing flow. 60 | 61 | Caps Lock is accessible through a two-key combo (C+D). Additionally, there's a Caps Word behavior mapped to the S+T combo, which is handy for typing in all caps briefly. 62 | 63 | Initially, I was concerned about accidentally triggering Ctrl+Shift, but I was relieved to find that this issue didn’t occur. 64 | 65 | I used to have Backspace and Delete on my thumb cluster, but now I’ve moved them to two-key combos on the home row: N+E for Backspace and E+I for Delete. N+E+I is ctrl. This setup is extremely convenient and makes deleting word by word with Ctrl+N+E very fast. 66 | 67 | On the right thumb cluster, I’ve added Smart Num functionality. It provides num_word (numbers on tap) and mo (access to the num layer) on hold. 68 | 69 | _Sticky Layer / Momentary Layer custom behavior_ 70 | 71 | I also introduced a custom behavior called sl_mo, which offers a sticky layer on tap and a momentary layer (mo) on hold. I used this on the right-hand cluster to type a single symbol with a tap or access a full symbol layer when held. I removed it and replaced it with a sk_mo on two of the right thumb cluster. 72 | 73 | I’m considering designing a Smart Sym logic similar to Smart Num, but for now, I don’t encounter frequent cases of typing a series of symbols, except for double brackets or Markdown headers with hashtags. 74 | 75 | ## Number Layer 76 | 77 | Revised version of number layer 78 | 79 | _Left-Hand Side_ 80 | 81 | On the left hand side we have the numerical keypad equivalents. In some usecases they are the only keys that return the number inputs in some software instead of the 1-0 digits above a classic querty that double as symbols. 82 | These keys surround the home row mods and a calculator app trigger. Thumb cluster reuses space by transition and adds dot and equal for the combo alt+= in excel that auto sums the above consequent cells. 83 | 84 | _Right-Hand Side_ 85 | 86 | Includes numeric keys 1-9 in a classic 3 by 3 numpad setup, 0 on the side and % directly below and arithmetic operators (KP PLUS, KP MINUS, KP MULTIPLY, KP DIVIDE) in positions optimized for quick access. 87 | A navigation cluster with arrow keys on joystick (↑, ↓, ←, →) is integrated, enhancing usability for editing spreadsheets or navigating code. 88 | Modifier combinations such as Alt+= (for auto sum feature in excel) are mapped for additional functionality. 89 | 90 | ## Symbol Layer 91 | 92 | _Left-Hand Side_ 93 | 94 | Contains frequently used symbols in a 1-5 logic on the bottom row. 95 | Home mod rows for this side. * asterisk on the g location to easily created bulleted lists. 96 | A toggle key labeled "COLEMAK" allows switching back to the primary layer. 97 | 98 | _Right-Hand Side_ 99 | 100 | Features pairs of brackets ((, ), [, ]), as well as other common symbols like \, placed for convenient access. 101 | Navigation arrows (↑, ↓, ←, →) are present for editing and navigation purposes. 102 | Keys for special symbols and operations, such as the pipe | and backslash \, are also included. 103 | 104 | ## Navigation Layer 105 | 106 | _Key Functions_ 107 | 108 | F1 - F5: General function keys for help, editing/renaming, freezing named ranges, refreshing pages. 109 | F11 - F12: for power query / vba (with alt) and browser quick actions. 110 | Move Up/Down/Left/Right: Cursor movement commands for more efficient navigation surrounded by most used function keys. 111 | Clipboard (Ctrl + C, X, V, Z, Y): Quick access to clipboard functions like copy, cut, paste, undo, and redo around the reversed T arrows navigation. Copy, paste being near the upwards arrow. 112 | Media Controls: Includes scroll left, scroll up, scroll down, and scroll right for navigation within documents or web pages. 113 | Mouse Functions: Includes mouse button 4 (MB4), left-click (LCLK), right-click (RCLK), middle-click (MCLK), mute (C_MUTE), and other mouse-related functionalities. 114 | 115 | _Navigation Shortcuts_ 116 | 117 | Home/End/Page Up/Page Down/Insert/Pause/Break: Manage text navigation and system commands. 118 | Context Menu: Activate the system context menu with K_CONTEXT_MENU. Maybe one of my most used flow if not the shift+F10 equivalent. 119 | Win+shift+D mapped to the right index finger secondary position allows for the quick use of mouse jump feature of power toys. This creates a mini map of all the screens available at the current position of your cursor. This allows to utilize the mouse emulator even more accross screens without delays on cursor movement. 120 | 121 | _System and Clipboard Keycodes_ 122 | 123 | Includes functions like INSERT, HOME, PAGE_UP, PAGE_DOWN, END. 124 | 125 | ## Bluetooth & RGB Layer 126 | 127 | _Bluetooth Functions_ 128 | 129 | BT_CLR: Clears the current Bluetooth connection. I have assigned this action on right/uppermost part of the keyboard to avoid accidental trigger. 130 | BT_SEL 0 to BT_SEL 4: Selects 5 different Bluetooth devices. 131 | 132 | _RGB Controls_ 133 | 134 | RGB_HUI: Increases RGB brightness. 135 | RGB_HUD: Decreases RGB brightness. 136 | 137 | RGB_BRI: Adjusts overall RGB brightness. 138 | RGB_BRD: Adjusts the RGB brightness mode or settings. 139 | 140 | RGB_OFF: Turns off RGB lighting. 141 | RGB_ON: Turns on RGB lighting. 142 | 143 | RGB_SPI: Changes the RGB effects or pattern speed. 144 | RGB_SPD: Adjusts RGB speed or other related settings. 145 | 146 | RGB_EFR: Toggles RGB effects for more dynamic lighting. 147 | RGB_EFF: Activates or changes RGB effects. 148 | 149 | _Sensor Bindings_ 150 | The layer binds an RGB encoder (&rgb_encoder), allowing for additional dynamic control or configuration via an encoder (likely a hardware interface). 151 | 152 | ## Function & Multimedia Layer 153 | 154 | _Function Keys_ 155 | 156 | F1 to F12: General function keys for various tasks. The assignment is similar to the num layer numbering with F11, F12 being on the lower movement of the index right finger to avoid any extened pinky actions. 157 | 158 | _Media Controls_ 159 | 160 | C_STOP: Stop media playback. 161 | C_PREVIOUS: Skip to the previous track. 162 | C_NEXT: Skip to the next track. 163 | C_PLAY_PAUSE: Toggle play/pause media playback. 164 | Cursor and Mouse Functions: 165 | 166 | _System Keys_ 167 | 168 | PRINTSCREEN: Take a screenshot. I usually prest win+shift+S for screenshot but i wanted to have at least one assignment of each key of a full keyboard in some layer. 169 | SCROLLLOCK: Toggle the scroll lock feature. 170 | PAUSE_BREAK: Pause or break functionality. 171 | 172 | _Sensor Bindings_ 173 | 174 | The layer was configured with a scroll_encoder sensor binding, haven't managed to make it work for scrolling yet. Returned to volume rocker for the encoder. 175 | 176 | ## Minecraft & Numpad Layer 177 | 178 | Tailored for a game-like layout (wasd), offering both letter-based navigation and number pad-like functionality, along with mouse and system controls. 179 | 180 | _Key Functions_ 181 | The layer combines alphabetic keys, numeric keypad control, mouse navigation, and additional system functions: 182 | 183 | _Alphabetic Keys_ 184 | 185 | E, W, F, L, A, S, D: Mapped for quick action commands, resembling gaming in a Minecraft environment. 186 | 187 | _Numeric Keypad_ 188 | 189 | KP_NUMLOCK: Toggles the numeric keypad. This provides pg up, pg down, home, end and arrows functionality if toggled. 190 | 191 | KP_NUMBER_7, KP_N8, KP_N9, 192 | 193 | KP_N4, KP_N5, KP_N6, 194 | 195 | KP_N1, KP_N2, KP_N3, 196 | 197 | KP_N0, KP_DOT, KP_ENTER 198 | 199 | Provides number-based input options, for calculation, navigation, or gaming purposes. 200 | 201 | _Movement and Mouse Functions_ 202 | 203 | MOVE_UP, MOVE_LEFT, MOVE_RIGHT, MOVE_DOWN: Controls for cursor or player movement on joystick. 204 | LCLK: Left-click mouse action. 205 | RCLK: Right-click mouse action. 206 | 207 | _System and Special Keys_ 208 | 209 | C_AL_CALCULATOR: Opens the calculator application and allows for a numpad experience. 210 | There are combos for +, -, *, / on the top and bottom rows of the numpad. 211 | LCTRL: Left control key, useful for various system shortcuts. 212 | F1 to F4: General function keys for system tasks. 213 | LSHFT: Left shift for modifier functions. 214 | SPACE: Spacebar for general input. 215 | 216 | Various combos available with f+u switching to base from any layer if lost. 217 | -------------------------------------------------------------------------------- /keymap_drawer.config.yaml: -------------------------------------------------------------------------------- 1 | draw_config: 2 | dark_mode: true 3 | n_columns: 2 4 | draw_key_sides: true 5 | key_w: 60.0 6 | key_h: 56.0 7 | split_gap: 30.0 8 | combo_w: 28.0 9 | combo_h: 26.0 10 | key_rx: 6.0 11 | key_ry: 6.0 12 | inner_pad_w: 2.0 13 | inner_pad_h: 2.0 14 | outer_pad_w: 40.0 15 | outer_pad_h: 56.0 16 | line_spacing: 1.2 17 | arc_radius: 6.0 18 | append_colon_to_layer_header: true 19 | small_pad: 2.0 20 | svg_extra_style: | 21 | /* For default sytles, see https://github.com/caksoylar/keymap-drawer/blob/main/keymap_drawer/config.py#L85 */ 22 | 23 | svg.keymap { 24 | font-family: Ubuntu Mono, Inconsolata, Consolas, Liberation Mono, Menlo, monospace; 25 | font-size: 12px; 26 | font-weight: bold; 27 | text-rendering: optimizeLegibility; 28 | background-color: #0d1117; /* Githubs dark background */ 29 | } 30 | 31 | /* Color accent for held keys */ 32 | rect.held, rect.combo.held { 33 | fill: #ffc; 34 | } 35 | 36 | /* Technique borrowed and extended from https://github.com/englmaxi/zmk-config/blob/master/keymap-drawer/config.yaml */ 37 | .sym_sub_text.tap { 38 | translate: -5px 2px; 39 | font-size: 20px; 40 | } 41 | .sym_sub_text.shifted { 42 | translate: 10px 13px; 43 | font-size: 10px; 44 | opacity: 1.0; 45 | } 46 | .combo.sym_sub_text.tap { 47 | translate: -1px 1px; 48 | } 49 | .combo.sym_sub_text.shifted { 50 | translate: 7px 5px; 51 | font-size: 10px; 52 | opacity: 1.0; 53 | } 54 | 55 | /* Toggle */ 56 | .toggle.shifted { 57 | translate: -10px 12px; 58 | } 59 | 60 | .toggle.hold { 61 | translate: 13px -23px; 62 | } 63 | 64 | /* Variant for tap-dances */ 65 | .tap_dance.tap { 66 | translate: -7px 0px; 67 | font-size: 12px; 68 | } 69 | .tap_dance.shifted { 70 | translate: 7px 17px; 71 | font-size: 12px; 72 | opacity: 1.0; 73 | } 74 | 75 | /* Variant for symbol next to symbol */ 76 | .sym_by_sym.tap { 77 | translate: -6px 0px; 78 | } 79 | .sym_by_sym.shifted { 80 | translate: 10px 12px; 81 | opacity: 1.0; 82 | } 83 | 84 | .combo.sym_by_sym.tap { 85 | translate: -35px 0px; 86 | } 87 | .combo.sym_by_sym.shifted { 88 | translate: 35px 20px; 89 | opacity: 1.0; 90 | } 91 | 92 | .combo.sym_by_sym.hold { 93 | visibility: hidden; 94 | } 95 | 96 | /* hide hold box for combo sym_by_sym */ 97 | .combo.sym_by_sym.hold > path[stroke="none"][fill="none"] { 98 | visibility: hidden; 99 | } 100 | 101 | shrink_wide_legends: 6 102 | glyph_tap_size: 18 103 | glyph_hold_size: 15 104 | glyph_shifted_size: 15 105 | glyphs: {} 106 | glyph_urls: 107 | tabler: https://unpkg.com/@tabler/icons/icons/outline/{}.svg 108 | tablerf: https://unpkg.com/@tabler/icons/icons/filled/{}.svg 109 | mdi: https://raw.githubusercontent.com/Templarian/MaterialDesign-SVG/master/svg/{}.svg 110 | mdil: https://raw.githubusercontent.com/Pictogrammers/MaterialDesignLight/master/svg/{}.svg 111 | material: https://fonts.gstatic.com/s/i/short-term/release/materialsymbolsoutlined/{}/default/48px.svg 112 | use_local_cache: true 113 | 114 | parse_config: 115 | mark_alternate_layer_activators: true 116 | sticky_label: $$mdi:gesture-tap-hold$$ 117 | trans_legend: 118 | tap: $$mdi:transfer$$ 119 | type: trans 120 | 121 | raw_binding_map: 122 | # Layers 123 | "<q 1 BACKSPACE": 124 | tap: $$mdi:backspace$$ 125 | hold: '$$mdi:navigation-variant$$' 126 | "<q 3 TAB": 127 | tap: $$mdi:keyboard-tab$$ 128 | hold: $$mdi:numeric$$ 129 | "<q 2 SPACE": 130 | tap: $$mdi:keyboard-space$$ 131 | hold: $$mdi:symbol$$ 132 | "<q 3 ENTER": 133 | tap: $$mdi:keyboard-return$$ 134 | hold: $$mdi:numeric$$ 135 | "<q 1 DELETE": 136 | tap: $$mdi:backspace-reverse-outline$$ 137 | hold: $$mdi:navigation-variant$$ 138 | # Home rows 139 | "&hm LEFT_GUI A": 140 | tap: 'A' 141 | shifted: $$mdi:apple-keyboard-command$$ 142 | "&hm LEFT_ALT S": 143 | tap: 'S' 144 | shifted: $$mdi:apple-keyboard-option$$ 145 | "&hm LEFT_CONTROL D": 146 | tap: 'D' 147 | shifted: $$mdi:apple-keyboard-control$$ 148 | "&hm LEFT_SHIFT F": 149 | tap: 'F' 150 | shifted: $$mdi:apple-keyboard-shift$$ 151 | "&hm RIGHT_SHIFT J": 152 | tap: 'J' 153 | shifted: $$mdi:apple-keyboard-shift$$ 154 | "&hm RIGHT_CONTROL K": 155 | tap: 'K' 156 | shifted: $$mdi:apple-keyboard-control$$ 157 | "&hm RIGHT_ALT L": 158 | tap: 'L' 159 | shifted: $$mdi:apple-keyboard-option$$ 160 | # self behaviors 161 | "&hm LG(LS(V)) P": 162 | tap: 'P' 163 | shifted: $$mdi:content-copy$$ 164 | # Mouse 165 | "&msc SCRL_UP": 166 | tap: $$mdi:pan-up$$ 167 | hold: '' 168 | shifted: '' 169 | "&msc SCRL_DOWN": 170 | tap: $$mdi:pan-down$$ 171 | hold: '' 172 | shifted: '' 173 | "&msc SCRL_LEFT": 174 | tap: $$mdi:pan-left$$ 175 | hold: '' 176 | shifted: '' 177 | "&msc SCRL_RIGHT": 178 | tap: $$mdi:pan-right$$ 179 | hold: '' 180 | shifted: '' 181 | "&mmv MOVE_LEFT": 182 | tap: $$mdi:menu-left$$ 183 | hold: '' 184 | shifted: $$mdi:mouse$$ 185 | "&mmv MOVE_RIGHT": 186 | tap: $$mdi:menu-right$$ 187 | hold: '' 188 | shifted: $$mdi:mouse$$ 189 | "&mmv MOVE_UP": 190 | tap: $$mdi:menu-up$$ 191 | hold: '' 192 | shifted: $$mdi:mouse$$ 193 | "&mmv MOVE_DOWN": 194 | tap: $$mdi:menu-down$$ 195 | hold: '' 196 | shifted: $$mdi:mouse$$ 197 | "&mkp LCLK": 198 | tap: $$mdi:mouse-left-click-outline$$ 199 | "&mkp RCLK": 200 | tap: $$mdi:mouse-right-click-outline$$ 201 | "&mkp MCLK": 202 | tap: $$mdi:mouse-scroll-wheel$$ 203 | # Modifiers 204 | "&caps_word": $$mdi:alpha-w-box$$ 205 | "&kt RSHIFT": 206 | tap: $$mdi:apple-keyboard-shift$$ 207 | hold: $$mdi:toggle-switch$$ 208 | 209 | # Empty 210 | "&none": 211 | tap: $$mdi:minus-circle-outline$$ 212 | type: none 213 | 214 | # Whitespace 215 | "&bkspc_del": 216 | type: backspace 217 | tap: $$mdi:backspace$$ 218 | shifted: $$mdi:backspace-reverse-outline$$ 219 | 220 | # Bluetooth 221 | "&bt BT_SEL 0": 222 | shifted: $$mdi:bluetooth-connect$$ 223 | tap: "" 224 | hold: 1 225 | "&bt BT_SEL 1": 226 | shifted: $$mdi:bluetooth-connect$$ 227 | tap: "" 228 | hold: 2 229 | "&bt BT_SEL 2": 230 | shifted: $$mdi:bluetooth-connect$$ 231 | tap: "" 232 | hold: 3 233 | "&bt BT_SEL 3": 234 | shifted: $$mdi:bluetooth-connect$$ 235 | tap: "" 236 | hold: 4 237 | "&bt BT_SEL 4": 238 | shifted: $$mdi:bluetooth-connect$$ 239 | tap: "" 240 | hold: 5 241 | "&out OUT_TOG": 242 | shifted: $$mdi:usb$$ 243 | tap: $$mdi:toggle-switch$$ 244 | hold: $$mdi:bluetooth$$ 245 | "&bt BT_PRV": 246 | shifted: $$mdi:bluetooth-connect$$ 247 | tap: "" 248 | hold: $$mdi:arrow-up-bold$$ 249 | "&bt BT_NXT": 250 | shifted: $$mdi:bluetooth-connect$$ 251 | tap: "" 252 | hold: $$mdi:arrow-down-bold$$ 253 | # Reset 254 | "&sys_reset": 255 | type: bootloader 256 | tap: $$mdi:backup-restore$$ 257 | "&bootloader": 258 | tap: $$mdi:progress-download$$ 259 | 260 | # ZMK 261 | zmk_keycode_map: 262 | # Symbols 263 | EXCLAMATION: "!" 264 | EXCL: "!" 265 | AT_SIGN: "@" 266 | AT: "@" 267 | HASH: "#" 268 | POUND: "#" 269 | DOLLAR: $ 270 | DLLR: $ 271 | PERCENT: "%" 272 | PRCNT: "%" 273 | CARET: ^ 274 | AMPERSAND: "&" 275 | AMPS: "&" 276 | ASTERISK: "*" 277 | ASTRK: "*" 278 | STAR: "*" 279 | LEFT_PARENTHESIS: ( 280 | LPAR: ( 281 | RIGHT_PARENTHESIS: ) 282 | RPAR: ) 283 | EQUAL: 284 | tap: "=" 285 | shifted: "+" 286 | PLUS: + 287 | MINUS: 288 | tap: "-" 289 | shifted: "_" 290 | UNDERSCORE: _ 291 | UNDER: _ 292 | SLASH: 293 | tap: "/" 294 | shifted: "?" 295 | FSLH: 296 | tap: "/" 297 | shifted: "?" 298 | QUESTION: "?" 299 | QMARK: "?" 300 | BACKSLASH: 301 | tap: '\' 302 | shifted: "|" 303 | BSLH: 304 | tap: '\' 305 | shifted: "|" 306 | PIPE: "|" 307 | NON_US_BACKSLASH: \ 308 | PIPE2: "|" 309 | NON_US_BSLH: "|" 310 | SEMICOLON: 311 | tap: ";" 312 | shifted: ":" 313 | SEMI: 314 | tap: ";" 315 | shifted: ":" 316 | COLON: ":" 317 | SINGLE_QUOTE: 318 | tap: "'" 319 | shifted: '"' 320 | SQT: 321 | tap: "'" 322 | shifted: '"' 323 | APOSTROPHE: < 324 | APOS: . 325 | DOUBLE_QUOTES: '"' 326 | DQT: '"' 327 | 328 | LESS_THAN: < 329 | LT: < 330 | PERIOD: '.' 331 | DOT: 332 | tap: "." 333 | shifted: ">" 334 | COMMA: 335 | tap: "," 336 | shifted: "<" 337 | GREATER_THAN: ">" 338 | GT: ">" 339 | LEFT_BRACKET: 340 | tap: "[" 341 | shifted: "{" 342 | LBKT: 343 | tap: "[" 344 | shifted: "{" 345 | LEFT_BRACE: "{" 346 | LBRC: "{" 347 | RIGHT_BRACKET: 348 | tap: "]" 349 | shifted: "}" 350 | RBKT: 351 | tap: "]" 352 | shifted: "}" 353 | RIGHT_BRACE: "}" 354 | RBRC: "}" 355 | GRAVE: 356 | tap: "`" 357 | shifted: "~" 358 | TILDE: "~" 359 | NON_US_HASH: "#" 360 | NUHS: "#" 361 | TILDE2: "~" 362 | 363 | # Numbers 364 | N1: 365 | tap: 1 366 | shifted: "!" 367 | N2: 368 | tap: 2 369 | shifted: "@" 370 | N3: 371 | tap: 3 372 | shifted: "#" 373 | N4: 374 | tap: 4 375 | shifted: "$" 376 | N5: 377 | tap: 5 378 | shifted: "%" 379 | N6: 380 | tap: 6 381 | shifted: "^" 382 | N7: 383 | tap: 7 384 | shifted: "&" 385 | N8: 386 | tap: 8 387 | shifted: "*" 388 | N9: 389 | tap: 9 390 | shifted: "(" 391 | N0: 392 | tap: 0 393 | shifted: ")" 394 | 395 | # Modifiers 396 | LCTRL: $$mdi:apple-keyboard-control$$ 397 | LEFT_CONTROL: $$mdi:apple-keyboard-control$$ 398 | LALT: $$mdi:apple-keyboard-option$$ 399 | LEFT_ALT: $$mdi:apple-keyboard-option$$ 400 | LSHIFT: $$mdi:apple-keyboard-shift$$ 401 | LEFT_SHIFT: $$mdi:apple-keyboard-shift$$ 402 | LSHFT: $$mdi:apple-keyboard-shift$$ 403 | LCMD: $$mdi:apple-keyboard-command$$ 404 | LG: $$mdi:apple-keyboard-command$$ 405 | LEFT_GUI: $$mdi:apple-keyboard-command$$ 406 | LEFT_COMMAND: $$mdi:apple-keyboard-command$$ 407 | RCTRL: $$mdi:apple-keyboard-control$$ 408 | RIGHT_CONTROL: $$mdi:apple-keyboard-control$$ 409 | RALT: $$mdi:apple-keyboard-option$$ 410 | RIGHT_ALT: $$mdi:apple-keyboard-option$$ 411 | RSHIFT: $$mdi:apple-keyboard-shift$$ 412 | RIGHT_SHIFT: $$mdi:apple-keyboard-shift$$ 413 | RSHFT: $$mdi:apple-keyboard-shift$$ 414 | RCMD: $$mdi:apple-keyboard-command$$ 415 | RG: $$mdi:apple-keyboard-command$$ 416 | PSCRN: $$mdi:printer-outline$$ 417 | RIGHT_COMMAND: $$mdi:apple-keyboard-command$$ 418 | PAGE_UP: 419 | tap: 'PgUp' 420 | shifted: '' 421 | PAGE_DOWN: 422 | tap: 'PgDn' 423 | shifted: '' 424 | INSERT: 425 | tap: 'Ins' 426 | shifted: '' 427 | # "Meh" key 428 | LS(LC(LALT)): $$mdi:star-three-points$$ 429 | 430 | # Arrows 431 | UP: $$mdi:arrow-up-bold$$ 432 | UP_ARROW: $$mdi:arrow-up-bold$$ 433 | DOWN: $$mdi:arrow-down-bold$$ 434 | DOWN_ARROW: $$mdi:arrow-down-bold$$ 435 | LEFT_ARROW: $$mdi:arrow-left-bold$$ 436 | LEFT: $$mdi:arrow-left-bold$$ 437 | RIGHT: $$mdi:arrow-right-bold$$ 438 | RIGHT_ARROW: $$mdi:arrow-right-bold$$ 439 | 440 | # Whitespace 441 | ENTER: 442 | type: enter 443 | tap: $$mdi:keyboard-return$$ 444 | RET: 445 | type: enter 446 | tap: $$mdi:keyboard-return$$ 447 | ESC: $$mdi:keyboard-esc$$ 448 | ESCAPE: $$mdi:keyboard-esc$$ 449 | TAB: $$mdi:keyboard-tab$$ 450 | LS(TAB): $$mdi:keyboard-tab-reverse$$ 451 | SPACE: $$mdi:keyboard-space$$ 452 | BACKSPACE: 453 | type: backspace 454 | tap: $$mdi:backspace$$ 455 | BSPC: 456 | type: backspace 457 | tap: $$mdi:backspace$$ 458 | DELETE: $$mdi:backspace-reverse-outline$$ 459 | DEL: $$mdi:backspace-reverse-outline$$ 460 | 461 | # Locks 462 | CAPSLOCK: $$mdi:apple-keyboard-caps$$ 463 | CAPS: $$mdi:apple-keyboard-caps$$ 464 | 465 | # Sound 466 | C_MUTE: $$mdi:volume-off$$ 467 | C_VOL_UP: $$mdi:volume-high$$ 468 | C_VOL_DN: $$mdi:volume-low$$ 469 | C_VOLUME_UP: $$mdi:volume-high$$ 470 | C_VOLUME_DOWN: $$mdi:volume-low$$ 471 | 472 | # Media 473 | C_NEXT: $$mdi:skip-next$$ 474 | C_PREV: $$mdi:skip-previous$$ 475 | C_PP: $$mdi:play-pause$$ 476 | 477 | # Bluetooth 478 | BT_CLR: $$mdi:bluetooth-off$$ 479 | BT_SEL: $$mdi:bluetooth-connect$$ 480 | 481 | # Settings 482 | C_BRI_UP: $$mdi:brightness-5$$ 483 | C_BRIGHTNESS_INC: $$mdi:brightness-5$$ 484 | C_BRI_DN: $$mdi:brightness-7$$ 485 | C_BRI_DEC: $$mdi:brightness-7$$ 486 | C_BRIGHTNESS_DEC: $$mdi:brightness-7$$ 487 | 488 | # System 489 | C_POWER: $$mdi:power-standby$$ 490 | C_AL_LOCK: $$mdi:lock$$ 491 | K_CANCEL: $$mdi:close-box$$ 492 | K_FIND: $$mdi:apple-finder$$ 493 | # Command + 494 | LG(A): 495 | tap: 'A' 496 | hold: $$mdi:apple-keyboard-command$$ 497 | LG(S): 498 | tap: 'S' 499 | hold: $$mdi:apple-keyboard-command$$ 500 | LG(D): 501 | tap: 'D' 502 | hold: $$mdi:apple-keyboard-command$$ 503 | LG(F): 504 | tap: 'F' 505 | hold: $$mdi:apple-keyboard-command$$ 506 | LG(Z): 507 | tap: 'Z' 508 | hold: $$mdi:apple-keyboard-command$$ 509 | LG(X): 510 | tap: 'X' 511 | hold: $$mdi:apple-keyboard-command$$ 512 | LG(C): 513 | tap: 'C' 514 | hold: $$mdi:apple-keyboard-command$$ 515 | LG(V): 516 | tap: 'V' 517 | hold: $$mdi:apple-keyboard-command$$ 518 | # Zoom 519 | RG(RS(A)): 520 | tap: $$mdi:microphone$$ 521 | hold: zoom 522 | RG(RS(V)): 523 | tap: $$mdi:video$$ 524 | hold: zoom 525 | 526 | zmk_combos: 527 | combo_to_2: 528 | align: top 529 | combo_to_3: 530 | align: top 531 | combo_bt_clear: 532 | align: top 533 | offset: 0.03 534 | combo_mute: 535 | align: top 536 | offset: 0.15 537 | combo_minus: 538 | key: 539 | shifted: "_" 540 | hold: "-" 541 | combo_equal: 542 | key: 543 | shifted: "+" 544 | hold: "=" 545 | combo_backslash: 546 | key: 547 | shifted: "|" 548 | hold: \ 549 | combo_lbkt: 550 | key: 551 | shifted: "{" 552 | hold: "[" 553 | combo_rbkt: 554 | key: 555 | shifted: "}" 556 | hold: "]" 557 | combo_semicolon: 558 | key: 559 | shifted: ":" 560 | hold: ";" 561 | -------------------------------------------------------------------------------- /keymap-drawer/eyelash_corne.svg: -------------------------------------------------------------------------------- 1 | 2 | /* start glyphs */ 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | /* end glyphs */ 109 | 323 | 324 | COLEDH: 325 | 326 | 327 | 328 | 329 | 330 | 331 | 332 | 333 | 334 | Q 335 | 336 | 337 | 338 | 339 | W 340 | 341 | 342 | 343 | 344 | F 345 | 346 | 347 | 348 | 349 | P 350 | 351 | 352 | 353 | 354 | B 355 | 356 | 357 | 358 | 359 | 360 | 361 | 362 | 363 | 364 | J 365 | 366 | 367 | 368 | 369 | L 370 | 371 | 372 | 373 | 374 | U 375 | 376 | 377 | 378 | 379 | Y 380 | 381 | 382 | 383 | 384 | ' 385 | " 386 | 387 | 388 | 389 | 390 | ` 391 | ~ 392 | 393 | 394 | 395 | 396 | 397 | 398 | 399 | 400 | 401 | A 402 | 403 | 404 | 405 | 406 | R 407 | 408 | 409 | 410 | 411 | S 412 | 413 | 414 | 415 | 416 | T 417 | 418 | 419 | 420 | 421 | G 422 | 423 | 424 | 425 | 426 | 427 | 428 | 429 | 430 | 431 | 432 | 433 | 434 | 435 | 436 | 437 | 438 | 439 | 440 | 441 | M 442 | 443 | 444 | 445 | 446 | N 447 | 448 | 449 | 450 | 451 | E 452 | 453 | 454 | 455 | 456 | I 457 | 458 | 459 | 460 | 461 | O 462 | 463 | 464 | 465 | 466 | / 467 | ? 468 | 469 | 470 | 471 | 472 | 473 | 474 | 475 | 476 | 477 | 478 | Z 479 | 480 | 481 | 482 | 483 | X 484 | 485 | 486 | 487 | 488 | C 489 | 490 | 491 | 492 | 493 | D 494 | 495 | 496 | 497 | 498 | V 499 | 500 | 501 | 502 | 503 | 504 | Gui+Alt+K 505 | 506 | 507 | 508 | 509 | 510 | 511 | 512 | 513 | 514 | 515 | K 516 | 517 | 518 | 519 | 520 | H 521 | 522 | 523 | 524 | 525 | , 526 | < 527 | 528 | 529 | 530 | 531 | . 532 | 533 | 534 | 535 | 536 | ; 537 | RIGHT WIN 538 | : 539 | 540 | 541 | 542 | 543 | 544 | 545 | 546 | 547 | 548 | 549 | SYMBOL 550 | 551 | SYMBOL 552 | 553 | 554 | 555 | 556 | 557 | &num_word1 558 | 559 | 560 | NUMBER 561 | 562 | 563 | 564 | 565 | 566 | 567 | NAV 568 | 569 | 570 | 571 | 572 | 573 | 574 | FUN 575 | 576 | 577 | 578 | 579 | 580 | 581 | BLTRGB 582 | 583 | 584 | 585 | 586 | 587 | 588 | 589 | 590 | 591 | 592 | 593 | 594 | 595 | 596 | 597 | 598 | 599 | 600 | 601 | 602 | 603 | 604 | 605 | 606 | 607 | 608 | 609 | COLEDH 610 | toggle 611 | 612 | 613 | 614 | 615 | 616 | 617 | MINECR 618 | toggle 619 | 620 | 621 | 622 | 623 | NUMBER: 624 | 625 | 626 | 627 | 628 | 629 | COLEDH 630 | toggle 631 | 632 | 633 | 634 | 635 | 636 | 637 | 638 | 639 | 640 | 641 | 642 | 643 | 644 | 645 | 646 | 647 | 648 | 649 | 650 | 651 | 652 | 653 | 654 | 655 | 656 | 657 | 658 | 659 | 660 | 661 | 662 | 663 | 664 | 665 | 666 | KPPLUS 667 | 668 | 669 | 670 | 671 | 672 | 7 673 | & 674 | 675 | 676 | 677 | 678 | 8 679 | * 680 | 681 | 682 | 683 | 684 | 9 685 | ( 686 | 687 | 688 | 689 | 690 | = 691 | + 692 | 693 | 694 | 695 | 696 | 697 | 698 | 699 | 700 | 701 | 702 | 703 | 704 | 705 | 706 | 707 | LEFTWIN 708 | 709 | LEFT WIN 710 | 711 | 712 | 713 | 714 | 715 | 716 | 717 | 718 | 719 | 720 | 721 | 722 | 723 | 724 | 725 | 726 | 727 | 728 | 729 | 730 | 731 | 732 | 733 | ALCALCULATOR 734 | 735 | 736 | 737 | 738 | 739 | 740 | 741 | 742 | 743 | 744 | 745 | 746 | 747 | 748 | 749 | 750 | 751 | 752 | 753 | 754 | 755 | KPMINUS 756 | 757 | 758 | 759 | 760 | 761 | 4 762 | $ 763 | 764 | 765 | 766 | 767 | 5 768 | % 769 | 770 | 771 | 772 | 773 | 6 774 | ^ 775 | 776 | 777 | 778 | 779 | 0 780 | ) 781 | 782 | 783 | 784 | 785 | 786 | 787 | 788 | 789 | 790 | 791 | 792 | 793 | 794 | 795 | 796 | NUMBER 797 | toggle 798 | 799 | 800 | 801 | 802 | 803 | SYMBOL 804 | toggle 805 | 806 | 807 | 808 | 809 | 810 | NAV 811 | toggle 812 | 813 | 814 | 815 | 816 | 817 | FUN 818 | toggle 819 | 820 | 821 | 822 | 823 | 824 | 825 | 826 | 827 | 828 | 829 | 830 | 831 | 832 | 833 | 834 | 835 | 836 | 837 | 838 | 839 | KPMULTIPLY 840 | 841 | 842 | 843 | 844 | 845 | 1 846 | ! 847 | 848 | 849 | 850 | 851 | 2 852 | @ 853 | 854 | 855 | 856 | 857 | 3 858 | # 859 | 860 | 861 | 862 | 863 | % 864 | 865 | 866 | 867 | 868 | 869 | KPENTER 870 | 871 | 872 | 873 | 874 | 875 | 876 | 877 | 878 | 879 | 880 | 881 | COLEDH 882 | toggle 883 | 884 | 885 | 886 | 887 | 888 | 889 | 890 | 891 | 892 | 893 | KPDIVIDE 894 | 895 | 896 | 897 | 898 | 899 | 900 | KPDOT 901 | 902 | 903 | 904 | 905 | 906 | 907 | KPNUMLOCK 908 | 909 | 910 | 911 | 912 | 913 | 914 | 915 | 916 | 917 | 918 | 919 | 920 | 921 | 922 | 923 | COLEDH 924 | toggle 925 | 926 | 927 | 928 | 929 | 930 | 931 | MINECR 932 | toggle 933 | 934 | 935 | 936 | 937 | SYMBOL: 938 | 939 | 940 | 941 | 942 | 943 | COLEDH 944 | toggle 945 | 946 | 947 | 948 | 949 | 950 | 951 | 952 | 953 | 954 | { 955 | 956 | 957 | 958 | 959 | = 960 | + 961 | 962 | 963 | 964 | 965 | } 966 | 967 | 968 | 969 | 970 | 971 | 972 | 973 | 974 | 975 | 976 | 977 | 978 | 979 | 980 | = 981 | + 982 | 983 | 984 | 985 | 986 | & 987 | 988 | 989 | 990 | 991 | * 992 | 993 | 994 | 995 | 996 | ^ 997 | 998 | 999 | 1000 | 1001 | &middledot 1002 | 1003 | 1004 | 1005 | 1006 | 1007 | 1008 | 1009 | 1010 | 1011 | 1012 | 1013 | 1014 | 1015 | 1016 | 1017 | LEFTWIN 1018 | 1019 | 1020 | 1021 | 1022 | 1023 | 1024 | 1025 | 1026 | 1027 | 1028 | 1029 | 1030 | 1031 | 1032 | 1033 | 1034 | 1035 | 1036 | 1037 | 1038 | % 1039 | 1040 | 1041 | 1042 | 1043 | 1044 | 1045 | 1046 | 1047 | 1048 | 1049 | 1050 | 1051 | 1052 | 1053 | 1054 | 1055 | 1056 | 1057 | 1058 | % 1059 | 1060 | 1061 | 1062 | 1063 | ! 1064 | 1065 | 1066 | 1067 | 1068 | @ 1069 | 1070 | 1071 | 1072 | 1073 | # 1074 | 1075 | 1076 | 1077 | 1078 | $ 1079 | 1080 | 1081 | 1082 | 1083 | 1084 | 1085 | 1086 | 1087 | 1088 | 1089 | 1090 | 1091 | 1092 | 1093 | [ 1094 | { 1095 | 1096 | 1097 | 1098 | 1099 | ] 1100 | } 1101 | 1102 | 1103 | 1104 | 1105 | ( 1106 | 1107 | 1108 | 1109 | 1110 | ) 1111 | 1112 | 1113 | 1114 | 1115 | / 1116 | ? 1117 | 1118 | 1119 | 1120 | 1121 | 1122 | 1123 | 1124 | 1125 | 1126 | 1127 | 1128 | 1129 | 1130 | 1131 | [ 1132 | { 1133 | 1134 | 1135 | 1136 | 1137 | ( 1138 | 1139 | 1140 | 1141 | 1142 | ) 1143 | 1144 | 1145 | 1146 | 1147 | ] 1148 | } 1149 | 1150 | 1151 | 1152 | 1153 | ` 1154 | ~ 1155 | 1156 | 1157 | 1158 | 1159 | 1160 | 1161 | 1162 | 1163 | 1164 | \ 1165 | | 1166 | 1167 | 1168 | 1169 | 1170 | 1171 | COLEDH 1172 | toggle 1173 | 1174 | 1175 | 1176 | 1177 | _ 1178 | 1179 | 1180 | 1181 | 1182 | _ 1183 | 1184 | 1185 | 1186 | 1187 | - 1188 | _ 1189 | 1190 | 1191 | 1192 | 1193 | \ 1194 | | 1195 | 1196 | 1197 | 1198 | 1199 | 1200 | 1201 | 1202 | 1203 | 1204 | 1205 | 1206 | 1207 | 1208 | 1209 | COLEDH 1210 | toggle 1211 | 1212 | 1213 | 1214 | 1215 | 1216 | 1217 | MINECR 1218 | toggle 1219 | 1220 | 1221 | 1222 | 1223 | NAV: 1224 | 1225 | 1226 | 1227 | 1228 | 1229 | COLEDH 1230 | toggle 1231 | 1232 | 1233 | 1234 | 1235 | F1 1236 | 1237 | 1238 | 1239 | 1240 | F2 1241 | 1242 | 1243 | 1244 | 1245 | 1246 | 1247 | 1248 | 1249 | 1250 | 1251 | F4 1252 | 1253 | 1254 | 1255 | 1256 | F5 1257 | 1258 | 1259 | 1260 | 1261 | 1262 | 1263 | 1264 | 1265 | 1266 | Ctl+Y 1267 | 1268 | 1269 | 1270 | 1271 | Ctl+C 1272 | 1273 | 1274 | 1275 | 1276 | 1277 | 1278 | 1279 | 1280 | 1281 | Ctl+V 1282 | 1283 | 1284 | 1285 | 1286 | Ctl+Z 1287 | 1288 | 1289 | 1290 | 1291 | F11 1292 | 1293 | 1294 | 1295 | 1296 | Ctl+A 1297 | 1298 | 1299 | 1300 | 1301 | F3 1302 | 1303 | 1304 | 1305 | 1306 | 1307 | 1308 | 1309 | 1310 | 1311 | 1312 | 1313 | 1314 | 1315 | 1316 | 1317 | 1318 | 1319 | 1320 | 1321 | 1322 | 1323 | 1324 | 1325 | &mkpMB4 1326 | 1327 | 1328 | 1329 | 1330 | 1331 | 1332 | 1333 | 1334 | 1335 | 1336 | 1337 | 1338 | 1339 | 1340 | 1341 | 1342 | 1343 | 1344 | 1345 | 1346 | 1347 | Gui+Sft+D 1348 | 1349 | 1350 | 1351 | 1352 | 1353 | 1354 | 1355 | 1356 | 1357 | 1358 | 1359 | 1360 | 1361 | 1362 | 1363 | 1364 | 1365 | 1366 | 1367 | 1368 | Ctl+X 1369 | 1370 | 1371 | 1372 | 1373 | F12 1374 | 1375 | 1376 | 1377 | 1378 | 1379 | 1380 | 1381 | 1382 | 1383 | 1384 | 1385 | 1386 | 1387 | 1388 | 1389 | 1390 | 1391 | 1392 | 1393 | 1394 | 1395 | 1396 | 1397 | 1398 | 1399 | 1400 | 1401 | 1402 | 1403 | 1404 | &mkpMB5 1405 | 1406 | 1407 | 1408 | 1409 | 1410 | 1411 | 1412 | 1413 | 1414 | 1415 | 1416 | 1417 | 1418 | 1419 | 1420 | Ins 1421 | 1422 | 1423 | 1424 | 1425 | HOME 1426 | 1427 | 1428 | 1429 | 1430 | PgDn 1431 | 1432 | 1433 | 1434 | 1435 | PgUp 1436 | 1437 | 1438 | 1439 | 1440 | END 1441 | 1442 | 1443 | 1444 | 1445 | 1446 | 1447 | 1448 | 1449 | 1450 | 1451 | 1452 | 1453 | 1454 | 1455 | 1456 | COLEDH 1457 | toggle 1458 | 1459 | 1460 | 1461 | 1462 | 1463 | 1464 | 1465 | 1466 | 1467 | 1468 | 1469 | 1470 | 1471 | 1472 | 1473 | 1474 | 1475 | 1476 | 1477 | 1478 | 1479 | 1480 | 1481 | 1482 | 1483 | 1484 | 1485 | 1486 | 1487 | 1488 | 1489 | 1490 | 1491 | 1492 | COLEDH 1493 | toggle 1494 | 1495 | 1496 | 1497 | 1498 | 1499 | 1500 | MINECR 1501 | toggle 1502 | 1503 | 1504 | 1505 | 1506 | BLTRGB: 1507 | 1508 | 1509 | 1510 | 1511 | 1512 | COLEDH 1513 | toggle 1514 | 1515 | 1516 | 1517 | 1518 | 1519 | RGBHUD 1520 | 1521 | 1522 | 1523 | 1524 | 1525 | 1526 | RGBHUI 1527 | 1528 | 1529 | 1530 | 1531 | 1532 | 1533 | RGBBRI 1534 | 1535 | 1536 | 1537 | 1538 | 1539 | 1540 | RGBBRD 1541 | 1542 | 1543 | 1544 | 1545 | 1546 | 1547 | RGBEFF 1548 | 1549 | 1550 | 1551 | 1552 | 1553 | 1554 | 1555 | 1556 | 1557 | 1558 | 1559 | 1560 | 1561 | 1562 | 1563 | 1564 | 1565 | 1566 | 1567 | 1568 | 1569 | 1570 | 1571 | 1572 | 1573 | 1574 | 1575 | 1576 | 1577 | 1578 | 1579 | 1580 | 1581 | 1582 | 1583 | 1584 | 1585 | 1586 | 1587 | 1588 | 1589 | 1590 | 1591 | 1592 | 1593 | 1 1594 | 1595 | 1596 | 1597 | 1598 | 1599 | 2 1600 | 1601 | 1602 | 1603 | 1604 | 1605 | 3 1606 | 1607 | 1608 | 1609 | 1610 | 1611 | 4 1612 | 1613 | 1614 | 1615 | 1616 | 1617 | 5 1618 | 1619 | 1620 | 1621 | 1622 | 1623 | 1624 | 1625 | 1626 | 1627 | 1628 | 1629 | 1630 | 1631 | 1632 | 1633 | 1634 | 1635 | 1636 | 1637 | 1638 | 1639 | 1640 | 1641 | 1642 | 1643 | 1644 | 1645 | 1646 | 1647 | 1648 | 1649 | 1650 | 1651 | 1652 | 1653 | 1654 | 1655 | 1656 | 1657 | 1658 | 1659 | RIGHTWIN 1660 | 1661 | 1662 | 1663 | 1664 | 1665 | 1666 | 1667 | 1668 | 1669 | 1670 | 1671 | 1672 | 1673 | 1674 | 1675 | 1676 | RGBOFF 1677 | 1678 | 1679 | 1680 | 1681 | 1682 | 1683 | RGBON 1684 | 1685 | 1686 | 1687 | 1688 | 1689 | 1690 | RGBSPI 1691 | 1692 | 1693 | 1694 | 1695 | 1696 | 1697 | RGBSPD 1698 | 1699 | 1700 | 1701 | 1702 | 1703 | 1704 | RGBEFR 1705 | 1706 | 1707 | 1708 | 1709 | 1710 | 1711 | 1712 | 1713 | 1714 | 1715 | 1716 | 1717 | 1718 | 1719 | 1720 | 1721 | 1722 | 1723 | 1724 | 1725 | 1726 | 1727 | 1728 | 1729 | 1730 | 1731 | 1732 | 1733 | 1734 | 1735 | 1736 | 1737 | 1738 | 1739 | 1740 | 1741 | 1742 | 1743 | 1744 | 1745 | 1746 | 1747 | 1748 | 1749 | 1750 | 1751 | 1752 | 1753 | 1754 | 1755 | 1756 | COLEDH 1757 | toggle 1758 | 1759 | 1760 | 1761 | 1762 | 1763 | 1764 | 1765 | 1766 | 1767 | 1768 | 1769 | 1770 | 1771 | 1772 | 1773 | 1774 | 1775 | 1776 | 1777 | 1778 | 1779 | 1780 | 1781 | 1782 | 1783 | 1784 | 1785 | 1786 | 1787 | 1788 | 1789 | 1790 | 1791 | 1792 | COLEDH 1793 | toggle 1794 | 1795 | 1796 | 1797 | 1798 | 1799 | 1800 | MINECR 1801 | toggle 1802 | 1803 | 1804 | 1805 | 1806 | FUN: 1807 | 1808 | 1809 | 1810 | 1811 | 1812 | COLEDH 1813 | toggle 1814 | 1815 | 1816 | 1817 | 1818 | F10 1819 | 1820 | 1821 | 1822 | 1823 | F7 1824 | 1825 | 1826 | 1827 | 1828 | F8 1829 | 1830 | 1831 | 1832 | 1833 | F9 1834 | 1835 | 1836 | 1837 | 1838 | 1839 | PAUSEBREAK 1840 | 1841 | 1842 | 1843 | 1844 | 1845 | 1846 | 1847 | 1848 | 1849 | 1850 | 1851 | 1852 | 1853 | 1854 | 1855 | 1856 | 1857 | 1858 | 1859 | 1860 | 1861 | 1862 | 1863 | 1864 | 1865 | 1866 | 1867 | 1868 | 1869 | 1870 | 1871 | 1872 | 1873 | 1874 | 1875 | 1876 | 1877 | 1878 | 1879 | 1880 | 1881 | 1882 | 1883 | 1884 | 1885 | F11 1886 | 1887 | 1888 | 1889 | 1890 | F4 1891 | 1892 | 1893 | 1894 | 1895 | F5 1896 | 1897 | 1898 | 1899 | 1900 | F6 1901 | 1902 | 1903 | 1904 | 1905 | PRINTSCRE… 1906 | 1907 | 1908 | 1909 | 1910 | 1911 | 1912 | 1913 | 1914 | 1915 | 1916 | 1917 | 1918 | 1919 | 1920 | 1921 | 1922 | 1923 | 1924 | 1925 | 1926 | 1927 | 1928 | 1929 | 1930 | 1931 | 1932 | 1933 | 1934 | 1935 | 1936 | 1937 | 1938 | 1939 | 1940 | 1941 | 1942 | 1943 | 1944 | 1945 | 1946 | RIGHTWIN 1947 | 1948 | 1949 | 1950 | 1951 | 1952 | 1953 | 1954 | 1955 | 1956 | 1957 | 1958 | 1959 | 1960 | 1961 | 1962 | F12 1963 | 1964 | 1965 | 1966 | 1967 | F1 1968 | 1969 | 1970 | 1971 | 1972 | F2 1973 | 1974 | 1975 | 1976 | 1977 | F3 1978 | 1979 | 1980 | 1981 | 1982 | SCROLLLOCK 1983 | 1984 | 1985 | 1986 | 1987 | 1988 | 1989 | 1990 | 1991 | 1992 | 1993 | 1994 | 1995 | 1996 | 1997 | 1998 | 1999 | 2000 | 2001 | 2002 | 2003 | 2004 | 2005 | 2006 | 2007 | 2008 | 2009 | 2010 | 2011 | 2012 | 2013 | 2014 | 2015 | 2016 | 2017 | 2018 | 2019 | 2020 | 2021 | 2022 | 2023 | 2024 | 2025 | 2026 | 2027 | APP 2028 | 2029 | 2030 | 2031 | 2032 | 2033 | COLEDH 2034 | toggle 2035 | 2036 | 2037 | 2038 | 2039 | 2040 | 2041 | 2042 | 2043 | 2044 | 2045 | 2046 | 2047 | 2048 | 2049 | APP 2050 | 2051 | 2052 | 2053 | 2054 | 2055 | 2056 | 2057 | 2058 | 2059 | 2060 | 2061 | 2062 | 2063 | 2064 | 2065 | 2066 | 2067 | 2068 | 2069 | COLEDH 2070 | toggle 2071 | 2072 | 2073 | 2074 | 2075 | 2076 | 2077 | MINECR 2078 | toggle 2079 | 2080 | 2081 | 2082 | 2083 | MINECR: 2084 | 2085 | 2086 | 2087 | 2088 | 2089 | 2090 | 2091 | 2092 | 2093 | 2094 | 2095 | 2096 | 2097 | 2098 | E 2099 | 2100 | 2101 | 2102 | 2103 | W 2104 | 2105 | 2106 | 2107 | 2108 | F 2109 | 2110 | 2111 | 2112 | 2113 | 1 2114 | ! 2115 | 2116 | 2117 | 2118 | 2119 | 2120 | 2121 | 2122 | 2123 | 2124 | 2125 | KPNUMLOCK 2126 | 2127 | 2128 | 2129 | 2130 | 2131 | 2132 | KP7 2133 | 2134 | 2135 | 2136 | 2137 | 2138 | 2139 | KP8 2140 | 2141 | 2142 | 2143 | 2144 | 2145 | 2146 | KP9 2147 | 2148 | 2149 | 2150 | 2151 | 2152 | % 2153 | 2154 | 2155 | 2156 | 2157 | 2158 | 2159 | 2160 | 2161 | 2162 | 2163 | COLEDH 2164 | toggle 2165 | 2166 | 2167 | 2168 | 2169 | L 2170 | 2171 | 2172 | 2173 | 2174 | A 2175 | 2176 | 2177 | 2178 | 2179 | S 2180 | 2181 | 2182 | 2183 | 2184 | D 2185 | 2186 | 2187 | 2188 | 2189 | 2 2190 | @ 2191 | 2192 | 2193 | 2194 | 2195 | 2196 | 2197 | 2198 | 2199 | 2200 | 2201 | 2202 | 2203 | 2204 | 2205 | 2206 | 2207 | 2208 | 2209 | 2210 | 2211 | 2212 | 2213 | 2214 | 2215 | 2216 | KP4 2217 | 2218 | 2219 | 2220 | 2221 | 2222 | 2223 | KP5 2224 | 2225 | 2226 | 2227 | 2228 | 2229 | 2230 | KP6 2231 | 2232 | 2233 | 2234 | 2235 | 2236 | 2237 | 2238 | 2239 | 2240 | 2241 | 2242 | 2243 | 2244 | 2245 | 2246 | 2247 | 2248 | 2249 | 2250 | 2251 | F1 2252 | 2253 | 2254 | 2255 | 2256 | F2 2257 | 2258 | 2259 | 2260 | 2261 | F3 2262 | 2263 | 2264 | 2265 | 2266 | F4 2267 | 2268 | 2269 | 2270 | 2271 | 3 2272 | # 2273 | 2274 | 2275 | 2276 | 2277 | 2278 | COLEDH 2279 | toggle 2280 | 2281 | 2282 | 2283 | 2284 | 2285 | 2286 | 2287 | 2288 | 2289 | 2290 | 2291 | 2292 | 2293 | 2294 | 2295 | KP1 2296 | 2297 | 2298 | 2299 | 2300 | 2301 | 2302 | KP2 2303 | 2304 | 2305 | 2306 | 2307 | 2308 | 2309 | KP3 2310 | 2311 | 2312 | 2313 | 2314 | 2315 | 2316 | KPDOT 2317 | 2318 | 2319 | 2320 | 2321 | 2322 | 2323 | KPENTER 2324 | 2325 | 2326 | 2327 | 2328 | 2329 | 2330 | COLEDH 2331 | toggle 2332 | 2333 | 2334 | 2335 | 2336 | 2337 | 2338 | 2339 | 2340 | 2341 | 2342 | 2343 | 2344 | 2345 | 2346 | 2347 | 2348 | 2349 | 2350 | 2351 | 2352 | 2353 | 2354 | 2355 | 2356 | 2357 | KP0 2358 | 2359 | 2360 | 2361 | 2362 | 2363 | 2364 | 2365 | 2366 | 2367 | 2368 | 2369 | 2370 | 2371 | 2372 | 2373 | COLEDH 2374 | toggle 2375 | 2376 | 2377 | 2378 | 2379 | 2380 | 2381 | MINECR 2382 | toggle 2383 | 2384 | 2385 | 2386 | 2387 | --------------------------------------------------------------------------------