readme.md

@noroadsleft's Userspace

This directory holds the code that's the same for every keyboard I use in QMK, which is currently:

  • kc60
  • kbdfans/kbd75/rev1
  • coseyfannitutti/discipline

Macro Features and Custom Keycodes

VRSN

Outputs a string that tells me the Git commit from which my flashed firmware was built. Looks something like:

kc60:noroadsleft @ 0.6.326-6-gae6d7b-dirty

Git Macros

Some frequently used Git commands.

| Keycode | Output | Output with Shift | | :---------------------------------- | :--------------------- | :--------------------------- | | G_PUSH | git push origin | git push origin | | G_FTCH | git fetch upstream | git pull upstream | | G_BRCH | master | $(git branch-name) |

$(git branch-name) is an alias for git rev-parse --abbrev-ref HEAD, which normally returns the name of the current branch.

"Macro Mode" Macros and Customized Keycodes

Some of my macros and keycodes do different things depending on the value of the macroMode variable, which is toggled between 0 and 1 by the M_MDSWP custom keycode.1 This is mainly at attempt to make various shortcuts use the same physical key combinations between Windows/Linux and MacOS (which I use at home and work, respectively).

| Keycode | macroMode == 0 | macroMode == 1 | macroMode == 1 with Shift | | :------------------------------------- | :--------------- | :--------------- | :------------------------------------- | | M_SALL | Ctrl+A | Cmd+A | Cmd+A | | M_UNDO | Ctrl+Z | Cmd+Z | Cmd+Shift+Z | | M_CUT | Ctrl+X | Cmd+X | Cmd+X | | M_COPY | Ctrl+C | Cmd+C | Cmd+C | | M_PASTE | Ctrl+V | Cmd+V | Cmd+Shift+Opt+V | | KC_PSCR | KC_PSCR | Cmd+Shift+3 | Cmd+Shift+3 | | KC_HOME | KC_HOME | Cmd+Left | Cmd+Left | | KC_END | KC_END | Cmd+Right | Cmd+Right |

Emulated Non-US Backslash

Sometimes I type in languages from countries that use ISO layout, but my keyboards are all ANSI layout, so I have one key fewer than necessary.

This macro simulates the Non-US Backslash key if I hold Right Alt and tap the key to the right of Left Shift.

Requires defining ANSI_NUBS_ROW and ANSI_NUBS_COL in config.h at the keymap level.2

Emulated Numeric Keypad

If I hold the Right Alt key, the number row (KC_1 through KC_0) will output numpad keycodes instead of number row keycodes, enabling quicker access to characters like ™ and °.

Emulated Extended Function Keys

Similar to the emulated numpad, if I hold the Right Alt key with the Fn key, the function row (KC_F1 through KC_F12) will output keycodes KC_F13 throught KC_F24.

License

Copyright 2020-2021 James Young (@noroadsleft)

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.

Footnotes