├── README.md ├── bring-back-grave-accent-and-tilde.json ├── hyper-key.json └── only-keyboard-core.json /README.md: -------------------------------------------------------------------------------- 1 | 1. put those `json` config files into '$HOME/.config/karabiner/assets/complex_modifications' 2 | 2. open karabiner element, goto `complex modifications` tab, click `add rule` then add rules we set. 3 | -------------------------------------------------------------------------------- /bring-back-grave-accent-and-tilde.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Bring back grave_accent_and_tilde back after ESC mapping", 3 | "rules": [ 4 | { 5 | "description": "R_Shift+ESC to Tilde", 6 | "manipulators": [ 7 | { 8 | "type": "basic", 9 | "from": { 10 | "key_code": "escape", 11 | "modifiers": { 12 | "mandatory": "right_shift", 13 | "optional": [ 14 | "any" 15 | ] 16 | } 17 | }, 18 | "to": [ 19 | { 20 | "key_code": "grave_accent_and_tilde", 21 | "modifiers": [ 22 | "left_shift" 23 | ] 24 | } 25 | ] 26 | } 27 | ] 28 | }, 29 | { 30 | "description": "Super_key+ESC to grave accent", 31 | "manipulators": [ 32 | { 33 | "type": "basic", 34 | "from": { 35 | "key_code": "escape", 36 | "modifiers": { 37 | "mandatory": [ 38 | "left_shift", 39 | "left_command", 40 | "left_control", 41 | "left_option" 42 | ] 43 | } 44 | }, 45 | "to": [ 46 | { 47 | "key_code": "grave_accent_and_tilde", 48 | "modifiers": [] 49 | } 50 | ] 51 | } 52 | ] 53 | } 54 | ] 55 | } 56 | -------------------------------------------------------------------------------- /hyper-key.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "RightCommand : (HYPER) SHIFT+COMMAND+OPTION+CONTROL", 3 | "rules": [ 4 | { 5 | "description": "RightCommand : (HYPER) SHIFT+COMMAND+OPTION+CONTROL", 6 | "manipulators": [ 7 | { 8 | "from": { 9 | "key_code": "right_command", 10 | "modifiers": { 11 | "optional": [ 12 | "any" 13 | ] 14 | } 15 | }, 16 | "to": [ 17 | { 18 | "key_code": "left_shift", 19 | "modifiers": [ 20 | "left_command", 21 | "left_control", 22 | "left_option" 23 | ] 24 | } 25 | ], 26 | "type": "basic" 27 | }, 28 | { 29 | "description": "Avoid starting sysdiagnose with the built-in macOS shortcut cmd+shift+option+ctrl+,", 30 | "from": { 31 | "key_code": "comma", 32 | "modifiers": { 33 | "mandatory": [ 34 | "command", 35 | "shift", 36 | "option", 37 | "control" 38 | ] 39 | } 40 | }, 41 | "to": [], 42 | "type": "basic" 43 | }, 44 | { 45 | "description": "Avoid starting sysdiagnose with the built-in macOS shortcut cmd+shift+option+ctrl+.", 46 | "from": { 47 | "key_code": "period", 48 | "modifiers": { 49 | "mandatory": [ 50 | "command", 51 | "shift", 52 | "option", 53 | "control" 54 | ] 55 | } 56 | }, 57 | "to": [], 58 | "type": "basic" 59 | }, 60 | { 61 | "from": { 62 | "description": "Avoid starting sysdiagnose with the built-in macOS shortcut cmd+shift+option+ctrl+/", 63 | "key_code": "slash", 64 | "modifiers": { 65 | "mandatory": [ 66 | "command", 67 | "shift", 68 | "option", 69 | "control" 70 | ] 71 | } 72 | }, 73 | "to": [], 74 | "type": "basic" 75 | } 76 | ] 77 | } 78 | ] 79 | } 80 | -------------------------------------------------------------------------------- /only-keyboard-core.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "Tab : use only keyboard core area", 3 | "rules": [ 4 | { 5 | "description": "Tab + number: F1 ~ F12", 6 | "manipulators": [ 7 | { 8 | "conditions": [ 9 | { 10 | "name": "tab pressed", 11 | "type": "variable_if", 12 | "value": 1 13 | } 14 | ], 15 | "from": { 16 | "key_code": "1", 17 | "modifiers": { 18 | "optional": [ 19 | "any" 20 | ] 21 | } 22 | }, 23 | "to": [ 24 | { 25 | "key_code": "f1" 26 | } 27 | ], 28 | "type": "basic" 29 | }, 30 | { 31 | "conditions": [ 32 | { 33 | "name": "tab pressed", 34 | "type": "variable_if", 35 | "value": 1 36 | } 37 | ], 38 | "from": { 39 | "key_code": "2", 40 | "modifiers": { 41 | "optional": [ 42 | "any" 43 | ] 44 | } 45 | }, 46 | "to": [ 47 | { 48 | "key_code": "f2" 49 | } 50 | ], 51 | "type": "basic" 52 | }, 53 | { 54 | "conditions": [ 55 | { 56 | "name": "tab pressed", 57 | "type": "variable_if", 58 | "value": 1 59 | } 60 | ], 61 | "from": { 62 | "key_code": "3", 63 | "modifiers": { 64 | "optional": [ 65 | "any" 66 | ] 67 | } 68 | }, 69 | "to": [ 70 | { 71 | "key_code": "f3" 72 | } 73 | ], 74 | "type": "basic" 75 | }, 76 | { 77 | "conditions": [ 78 | { 79 | "name": "tab pressed", 80 | "type": "variable_if", 81 | "value": 1 82 | } 83 | ], 84 | "from": { 85 | "key_code": "4", 86 | "modifiers": { 87 | "optional": [ 88 | "any" 89 | ] 90 | } 91 | }, 92 | "to": [ 93 | { 94 | "key_code": "f4" 95 | } 96 | ], 97 | "type": "basic" 98 | }, 99 | { 100 | "conditions": [ 101 | { 102 | "name": "tab pressed", 103 | "type": "variable_if", 104 | "value": 1 105 | } 106 | ], 107 | "from": { 108 | "key_code": "5", 109 | "modifiers": { 110 | "optional": [ 111 | "any" 112 | ] 113 | } 114 | }, 115 | "to": [ 116 | { 117 | "key_code": "f5" 118 | } 119 | ], 120 | "type": "basic" 121 | }, 122 | { 123 | "conditions": [ 124 | { 125 | "name": "tab pressed", 126 | "type": "variable_if", 127 | "value": 1 128 | } 129 | ], 130 | "from": { 131 | "key_code": "6", 132 | "modifiers": { 133 | "optional": [ 134 | "any" 135 | ] 136 | } 137 | }, 138 | "to": [ 139 | { 140 | "key_code": "f6" 141 | } 142 | ], 143 | "type": "basic" 144 | }, 145 | { 146 | "conditions": [ 147 | { 148 | "name": "tab pressed", 149 | "type": "variable_if", 150 | "value": 1 151 | } 152 | ], 153 | "from": { 154 | "key_code": "7", 155 | "modifiers": { 156 | "optional": [ 157 | "any" 158 | ] 159 | } 160 | }, 161 | "to": [ 162 | { 163 | "key_code": "f7" 164 | } 165 | ], 166 | "type": "basic" 167 | }, 168 | { 169 | "conditions": [ 170 | { 171 | "name": "tab pressed", 172 | "type": "variable_if", 173 | "value": 1 174 | } 175 | ], 176 | "from": { 177 | "key_code": "8", 178 | "modifiers": { 179 | "optional": [ 180 | "any" 181 | ] 182 | } 183 | }, 184 | "to": [ 185 | { 186 | "key_code": "f8" 187 | } 188 | ], 189 | "type": "basic" 190 | }, 191 | { 192 | "conditions": [ 193 | { 194 | "name": "tab pressed", 195 | "type": "variable_if", 196 | "value": 1 197 | } 198 | ], 199 | "from": { 200 | "key_code": "9", 201 | "modifiers": { 202 | "optional": [ 203 | "any" 204 | ] 205 | } 206 | }, 207 | "to": [ 208 | { 209 | "key_code": "f9" 210 | } 211 | ], 212 | "type": "basic" 213 | }, 214 | { 215 | "conditions": [ 216 | { 217 | "name": "tab pressed", 218 | "type": "variable_if", 219 | "value": 1 220 | } 221 | ], 222 | "from": { 223 | "key_code": "0", 224 | "modifiers": { 225 | "optional": [ 226 | "any" 227 | ] 228 | } 229 | }, 230 | "to": [ 231 | { 232 | "key_code": "f10" 233 | } 234 | ], 235 | "type": "basic" 236 | }, 237 | { 238 | "conditions": [ 239 | { 240 | "name": "tab pressed", 241 | "type": "variable_if", 242 | "value": 1 243 | } 244 | ], 245 | "from": { 246 | "key_code": "hyphen", 247 | "modifiers": { 248 | "optional": [ 249 | "any" 250 | ] 251 | } 252 | }, 253 | "to": [ 254 | { 255 | "key_code": "f11" 256 | } 257 | ], 258 | "type": "basic" 259 | }, 260 | { 261 | "conditions": [ 262 | { 263 | "name": "tab pressed", 264 | "type": "variable_if", 265 | "value": 1 266 | } 267 | ], 268 | "from": { 269 | "key_code": "equal_sign", 270 | "modifiers": { 271 | "optional": [ 272 | "any" 273 | ] 274 | } 275 | }, 276 | "to": [ 277 | { 278 | "key_code": "f12" 279 | } 280 | ], 281 | "type": "basic" 282 | } 283 | ] 284 | }, 285 | { 286 | "description": "Tab + backspace to delete", 287 | "manipulators": [ 288 | { 289 | "conditions": [ 290 | { 291 | "name": "tab pressed", 292 | "type": "variable_if", 293 | "value": 1 294 | } 295 | ], 296 | "from": { 297 | "key_code": "delete_or_backspace", 298 | "modifiers": { 299 | "optional": [ 300 | "any" 301 | ] 302 | } 303 | }, 304 | "to": [ 305 | { 306 | "key_code": "delete_forward" 307 | } 308 | ], 309 | "type": "basic" 310 | }, 311 | { 312 | "from": { 313 | "key_code": "tab", 314 | "modifiers": { 315 | "optional": [ 316 | "any" 317 | ] 318 | } 319 | }, 320 | "parameters": { 321 | "basic.to_if_alone_timeout_milliseconds": 250, 322 | "basic.to_if_held_down_threshold_milliseconds": 250 323 | }, 324 | "to": [ 325 | { 326 | "set_variable": { 327 | "name": "tab pressed", 328 | "value": 1 329 | } 330 | } 331 | ], 332 | "to_after_key_up": [ 333 | { 334 | "set_variable": { 335 | "name": "tab pressed", 336 | "value": 0 337 | } 338 | } 339 | ], 340 | "to_if_alone": [ 341 | { 342 | "key_code": "tab" 343 | } 344 | ], 345 | "type": "basic" 346 | } 347 | ] 348 | }, 349 | { 350 | "description": "Tab + hjkl to arrow keys", 351 | "manipulators": [ 352 | { 353 | "conditions": [ 354 | { 355 | "name": "tab pressed", 356 | "type": "variable_if", 357 | "value": 1 358 | } 359 | ], 360 | "from": { 361 | "key_code": "j", 362 | "modifiers": { 363 | "optional": [ 364 | "any" 365 | ] 366 | } 367 | }, 368 | "to": [ 369 | { 370 | "key_code": "down_arrow" 371 | } 372 | ], 373 | "type": "basic" 374 | }, 375 | { 376 | "conditions": [ 377 | { 378 | "name": "tab pressed", 379 | "type": "variable_if", 380 | "value": 1 381 | } 382 | ], 383 | "from": { 384 | "key_code": "k", 385 | "modifiers": { 386 | "optional": [ 387 | "any" 388 | ] 389 | } 390 | }, 391 | "to": [ 392 | { 393 | "key_code": "up_arrow" 394 | } 395 | ], 396 | "type": "basic" 397 | }, 398 | { 399 | "conditions": [ 400 | { 401 | "name": "tab pressed", 402 | "type": "variable_if", 403 | "value": 1 404 | } 405 | ], 406 | "from": { 407 | "key_code": "h", 408 | "modifiers": { 409 | "optional": [ 410 | "any" 411 | ] 412 | } 413 | }, 414 | "to": [ 415 | { 416 | "key_code": "left_arrow" 417 | } 418 | ], 419 | "type": "basic" 420 | }, 421 | { 422 | "conditions": [ 423 | { 424 | "name": "tab pressed", 425 | "type": "variable_if", 426 | "value": 1 427 | } 428 | ], 429 | "from": { 430 | "key_code": "l", 431 | "modifiers": { 432 | "optional": [ 433 | "any" 434 | ] 435 | } 436 | }, 437 | "to": [ 438 | { 439 | "key_code": "right_arrow" 440 | } 441 | ], 442 | "type": "basic" 443 | }, 444 | { 445 | "from": { 446 | "key_code": "tab", 447 | "modifiers": { 448 | "optional": [ 449 | "any" 450 | ] 451 | } 452 | }, 453 | "parameters": { 454 | "basic.to_if_alone_timeout_milliseconds": 250, 455 | "basic.to_if_held_down_threshold_milliseconds": 250 456 | }, 457 | "to": [ 458 | { 459 | "set_variable": { 460 | "name": "tab pressed", 461 | "value": 1 462 | } 463 | } 464 | ], 465 | "to_after_key_up": [ 466 | { 467 | "set_variable": { 468 | "name": "tab pressed", 469 | "value": 0 470 | } 471 | } 472 | ], 473 | "to_if_alone": [ 474 | { 475 | "key_code": "tab" 476 | } 477 | ], 478 | "type": "basic" 479 | } 480 | ] 481 | } 482 | ] 483 | } 484 | --------------------------------------------------------------------------------