`# QMK Notes

## install

<https://docs.qmk.fm/newbs_getting_started#set-up-your-environment>

```bash
qmk setup

qmk compile -kb <keyboard> -km default
```

## udev rules

Make sure the udev rules are copied to your host machine if you're in a distrobox or toolbox.

```bash
sudo curl -o /etc/udev/rules.d/50-qmk.rules https://raw.githubusercontent.com/qmk/qmk_firmware/refs/heads/master/util/udev/50-qmk.rules
sudo udevadm control --reload-rules
sudo udevadm trigger
```

## VIA or Keychron Launcher Support

In your rules.mk (at the closest level to your keymap) add:

```c
VIA_ENABLE = yes
```

Compile and flash.

## Macros

### Code Homelab

```js
// menu
{+KC_LGUI}{-KC_LGUI}{100}
// type "terminal"
{+KC_T}{-KC_T}{100}{+KC_E}{-KC_E}{100}{+KC_R}{-KC_R}{100}{+KC_M}{-KC_M}{100}{+KC_I}{-KC_I}{100}{+KC_N}{-KC_N}{100}{+KC_A}{-KC_A}{100}{+KC_L}{-KC_L}{100}
// open terminal
{+KC_ENT}{-KC_ENT}{1000}
// type "tbox"
{+KC_T}{-KC_T}{100}{+KC_B}{-KC_B}{100}{+KC_O}{-KC_O}{100}{+KC_X}{-KC_X}{100}
// enter
{+KC_ENT}{-KC_ENT}{5000}
// type "code Homelab"
{+KC_C}{-KC_C}{100}{+KC_O}{-KC_O}{100}{+KC_D}{-KC_D}{100}{+KC_E}{-KC_E}{100}{+KC_SPC}{-KC_SPC}{100}{+KC_LSFT}{+KC_H}{-KC_H}{-KC_LSFT}{100}{+KC_O}{-KC_O}{100}{+KC_M}{-KC_M}{100}{+KC_E}{-KC_E}{100}{+KC_L}{-KC_L}{100}{+KC_A}{-KC_A}{100}{+KC_B}{-KC_B}{100}
// enter
{+KC_ENT}{-KC_ENT}{1000}
// full screen
{+KC_LGUI}{+KC_PGUP}{-KC_PGUP}{-KC_LGUI}
```