qmk-keychron-q3-colemak-dh/keyboards/kc60/keymaps/noroadsleft/readme_ch3.md
noroadsleft ce465c084b Updates to noroadsleft keymap for KC60 (#5127)
* NUBS_Z: initial version

Create a keycode that is normally Z, but KC_NUBS when tapped while Alt is being held.

This removes the possibility of using an Alt+Z shortcut.

* NUBS_Z: modification

Modify NUBS_Z macro to only use alternate operation if Right Alt is being held, rather than responding to either Alt key.

Also add QMK version keycode to System layer, Equals key.

* Remove unneeded breaks from process_record_user

* Macro refactoring

- removed G_RST and G_C10R macros
- updated G_BRCH macro
  - outputs `master` if used while Shift is held down; or my git alias for the current branch otherwise
- updated G_FTCH macro
  - outputs `git pull upstream ` if used with Shift; `git fetch upstream ` otherwise
- swapped `modifiers` variable for `get_mods()` function directly for checking modifier state
- swapped keymap-level modifier mask macros for QMK-core mod mask macros (thanks vomindoraan #4337)
- renamed MODS_RALT_MASK to MOD_MASK_RALT (more consistent with the above change)

* Update readme files
2019-02-14 07:07:32 -08:00

2.3 KiB

@noroadsleft's KC60 keymap


Layers 4, 5 and 6: Quake 2 _Q2, Quake 2 Dvorak _QD, and Quake 2 Console _QC

Accessed by holding either Fn key and tapping the /? key, then tapping 4$

These layers were born out of the confusion I have had trying to use the in-game chat and the console in Quake 2. When Quake 2 came out, alternate keyboard layouts weren't really a thing. As a result, all in-game text input is hard-locked to US QWERTY, regardless of what the operating system is using for its input method.

I'm attempting to solve this by some creative use of QMK's macro feature. The keycode in the System layer that enables these layers, GO_Q2, is a macro that sets the default layer to the QWERTY layer, then turns the Quake 2 layer _Q2 on. The result is a partially-overwritten QWERTY layer, that has some keycodes with some creative layer switching.

When I hit the Enter key (bound in-game to text chat), the macro keycode I've created sends the keycode for Enter, then follows with enabling the Hardware Dvorak layer and its corresponding overlay. Now the game is in text chat mode, and my keyboard is in Dvorak. When I hit Enter again, another Enter keycode macro is sent, which sends the message, then the macro brings me back to the standard QWERTY+Quake 2 setup. Hitting Escape instead runs a macro that cancels the sending of the message, and undoes the layers.

I have been testing this configuration for a few months. Sometimes I end up still in Dvorak mode without any text input systems (in-game chat or the console) running, but it pretty much always happens when I'm focused on the game, so I don't know the cause yet.

Layer 4: Quake 2

Quake 2

Layer 5: Quake 2 Dvorak

Quake 2 Dvorak

Layer 6: Quake 2 Console

Quake 2 Console


Next Chapter: Function Layers