qmk_me

QMK Firmware userspace, keyboards, & keymaps
git clone git://git.pngu.org.org/qmk_me
Log | Files | Refs | Submodules | README | LICENSE

commit c5047d27944e544edaab71694bae1dbb63b667f3
parent f4c5d0af098f9344b747afdddd5599c375fea711
Author: Jack Sangdahl <jack@pngu.org>
Date:   Thu, 11 Sep 2025 22:08:16 -0600

Migrate to proper userspace

Diffstat:
A.clangd | 4++++
A.github/workflows/build_binaries.yaml | 20++++++++++++++++++++
M.gitignore | 18+++++++++++++++---
AMakefile | 16++++++++++++++++
Rkeymaps/f60/keymap.c -> keyboards/bioi/f60/keymaps/jack/keymap.c | 0
Rkeymaps/beiwagon/keymap.c -> keyboards/boardsource/beiwagon/keymaps/jack/keymap.c | 0
Rkeymaps/crkbd/config.h -> keyboards/crkbd/keymaps/jack/config.h | 0
Rkeymaps/crkbd/halconf.h -> keyboards/crkbd/keymaps/jack/halconf.h | 0
Rkeymaps/crkbd/keymap.c -> keyboards/crkbd/keymaps/jack/keymap.c | 0
Rkeymaps/crkbd/keymap.json -> keyboards/crkbd/keymaps/jack/keymap.json | 0
Rkeymaps/crkbd/mcuconf.h -> keyboards/crkbd/keymaps/jack/mcuconf.h | 0
Rkeymaps/crkbd/readme.md -> keyboards/crkbd/keymaps/jack/readme.md | 0
Rkeymaps/crkbd/rules.mk -> keyboards/crkbd/keymaps/jack/rules.mk | 0
Rkeymaps/onekey/f411_qfplib/config.h -> keyboards/handwired/onekey/keymaps/f411_qfplib/config.h | 0
Rkeymaps/onekey/f411_qfplib/keymap.c -> keyboards/handwired/onekey/keymaps/f411_qfplib/keymap.c | 0
Rkeymaps/onekey/f411_qfplib/qfplib/qfplib.h -> keyboards/handwired/onekey/keymaps/f411_qfplib/qfplib/qfplib.h | 0
Rkeymaps/onekey/f411_qfplib/qfplib/qfplib.s -> keyboards/handwired/onekey/keymaps/f411_qfplib/qfplib/qfplib.s | 0
Rkeymaps/onekey/f411_qfplib/rules.mk -> keyboards/handwired/onekey/keymaps/f411_qfplib/rules.mk | 0
Rkeymaps/onekey/rp_smp/chconf.h -> keyboards/handwired/onekey/keymaps/rp_smp/chconf.h | 0
Rkeymaps/onekey/rp_smp/keymap.c -> keyboards/handwired/onekey/keymaps/rp_smp/keymap.c | 0
Rkeymaps/onekey/rp_smp/mcuconf.h -> keyboards/handwired/onekey/keymaps/rp_smp/mcuconf.h | 0
Rkeymaps/onekey/rp_smp/rules.mk -> keyboards/handwired/onekey/keymaps/rp_smp/rules.mk | 0
Rkeymaps/bully/keymap.c -> keyboards/mkh_studio/bully/keymaps/jack/keymap.c | 0
Rkeymaps/relic/keymap.c -> keyboards/projectcain/relic/keymaps/jack/keymap.c | 0
Rkeymaps/vault35/config.h -> keyboards/projectcain/vault35/keymaps/jack/config.h | 0
Rkeymaps/vault35/keymap.c -> keyboards/projectcain/vault35/keymaps/jack/keymap.c | 0
Rkeymaps/vault35/rules.mk -> keyboards/projectcain/vault35/keymaps/jack/rules.mk | 0
Rkeymaps/kyria/config.h -> keyboards/splitkb/kyria/keymaps/jack/config.h | 0
Rkeymaps/kyria/keymap.c -> keyboards/splitkb/kyria/keymaps/jack/keymap.c | 0
Rkeymaps/kyria/rules.mk -> keyboards/splitkb/kyria/keymaps/jack/rules.mk | 0
Aqmk.json | 11+++++++++++
Rjack/autocorrect_data.h -> users/jack/autocorrect_data.h | 0
Rjack/autocorrect_dict.txt -> users/jack/autocorrect_dict.txt | 0
Rjack/colour.c -> users/jack/colour.c | 0
Rjack/combos.def -> users/jack/combos.def | 0
Rjack/config.h -> users/jack/config.h | 0
Rjack/introspection.c -> users/jack/introspection.c | 0
Rjack/jack.c -> users/jack/jack.c | 0
Rjack/jack.h -> users/jack/jack.h | 0
Rjack/oled.c -> users/jack/oled.c | 0
Rjack/oled.h -> users/jack/oled.h | 0
Rjack/oledfont.h -> users/jack/oledfont.h | 0
Rjack/picosdk_math.mk -> users/jack/picosdk_math.mk | 0
Rjack/post_rules.mk -> users/jack/post_rules.mk | 0
Rjack/rgb_matrix_user.inc -> users/jack/rgb_matrix_user.inc | 0
Rjack/rules.mk -> users/jack/rules.mk | 0
Rjack/tapping.c -> users/jack/tapping.c | 0
Rjack/unicode.c -> users/jack/unicode.c | 0
Mutil/link.sh | 17-----------------
49 files changed, 66 insertions(+), 20 deletions(-)

diff --git a/.clangd b/.clangd @@ -0,0 +1,4 @@ +CompileFlags: + Add: [-Wno-unknown-attributes, -Wno-maybe-uninitialized, -Wno-unknown-warning-option] + Remove: [-W*, -mmcu=*, -mcpu=*, -mfpu=*, -mfloat-abi=*, -mno-unaligned-access, -mno-thumb-interwork, -mcall-prologues, -D__has_include*] + Compiler: clang diff --git a/.github/workflows/build_binaries.yaml b/.github/workflows/build_binaries.yaml @@ -0,0 +1,20 @@ +name: Build QMK firmware + +on: [push, workflow_dispatch] + +permissions: + contents: write + +jobs: + build: + name: 'QMK Userspace Build' + uses: qmk/.github/.github/workflows/qmk_userspace_build.yml@main + with: + qmk_repo: qmk/qmk_firmware + qmk_ref: master + + publish: + name: 'QMK Userspace Publish' + uses: qmk/.github/.github/workflows/qmk_userspace_publish.yml@main + if: always() && !cancelled() + needs: build diff --git a/.gitignore b/.gitignore @@ -1,4 +1,16 @@ -.cache -*.o +# Junk files +*.bak +*.swp +*~ +.DS_Store +._* + +# Firmware files +*.hex +*.bin +*.uf2 + +# clangd compile_commands.json -.venv +.clangd/ +.cache/ diff --git a/Makefile b/Makefile @@ -0,0 +1,16 @@ +.SILENT: + +MAKEFLAGS += --no-print-directory + +QMK_USERSPACE := $(patsubst %/,%,$(dir $(shell realpath "$(lastword $(MAKEFILE_LIST))"))) +ifeq ($(QMK_USERSPACE),) + QMK_USERSPACE := $(shell pwd) +endif + +QMK_FIRMWARE_ROOT = $(shell qmk config -ro user.qmk_home | cut -d= -f2 | sed -e 's@^None$$@@g') +ifeq ($(QMK_FIRMWARE_ROOT),) + $(error Cannot determine qmk_firmware location. `qmk config -ro user.qmk_home` is not set) +endif + +%: + +$(MAKE) -C $(QMK_FIRMWARE_ROOT) $(MAKECMDGOALS) QMK_USERSPACE=$(QMK_USERSPACE) diff --git a/keymaps/f60/keymap.c b/keyboards/bioi/f60/keymaps/jack/keymap.c diff --git a/keymaps/beiwagon/keymap.c b/keyboards/boardsource/beiwagon/keymaps/jack/keymap.c diff --git a/keymaps/crkbd/config.h b/keyboards/crkbd/keymaps/jack/config.h diff --git a/keymaps/crkbd/halconf.h b/keyboards/crkbd/keymaps/jack/halconf.h diff --git a/keymaps/crkbd/keymap.c b/keyboards/crkbd/keymaps/jack/keymap.c diff --git a/keymaps/crkbd/keymap.json b/keyboards/crkbd/keymaps/jack/keymap.json diff --git a/keymaps/crkbd/mcuconf.h b/keyboards/crkbd/keymaps/jack/mcuconf.h diff --git a/keymaps/crkbd/readme.md b/keyboards/crkbd/keymaps/jack/readme.md diff --git a/keymaps/crkbd/rules.mk b/keyboards/crkbd/keymaps/jack/rules.mk diff --git a/keymaps/onekey/f411_qfplib/config.h b/keyboards/handwired/onekey/keymaps/f411_qfplib/config.h diff --git a/keymaps/onekey/f411_qfplib/keymap.c b/keyboards/handwired/onekey/keymaps/f411_qfplib/keymap.c diff --git a/keymaps/onekey/f411_qfplib/qfplib/qfplib.h b/keyboards/handwired/onekey/keymaps/f411_qfplib/qfplib/qfplib.h diff --git a/keymaps/onekey/f411_qfplib/qfplib/qfplib.s b/keyboards/handwired/onekey/keymaps/f411_qfplib/qfplib/qfplib.s diff --git a/keymaps/onekey/f411_qfplib/rules.mk b/keyboards/handwired/onekey/keymaps/f411_qfplib/rules.mk diff --git a/keymaps/onekey/rp_smp/chconf.h b/keyboards/handwired/onekey/keymaps/rp_smp/chconf.h diff --git a/keymaps/onekey/rp_smp/keymap.c b/keyboards/handwired/onekey/keymaps/rp_smp/keymap.c diff --git a/keymaps/onekey/rp_smp/mcuconf.h b/keyboards/handwired/onekey/keymaps/rp_smp/mcuconf.h diff --git a/keymaps/onekey/rp_smp/rules.mk b/keyboards/handwired/onekey/keymaps/rp_smp/rules.mk diff --git a/keymaps/bully/keymap.c b/keyboards/mkh_studio/bully/keymaps/jack/keymap.c diff --git a/keymaps/relic/keymap.c b/keyboards/projectcain/relic/keymaps/jack/keymap.c diff --git a/keymaps/vault35/config.h b/keyboards/projectcain/vault35/keymaps/jack/config.h diff --git a/keymaps/vault35/keymap.c b/keyboards/projectcain/vault35/keymaps/jack/keymap.c diff --git a/keymaps/vault35/rules.mk b/keyboards/projectcain/vault35/keymaps/jack/rules.mk diff --git a/keymaps/kyria/config.h b/keyboards/splitkb/kyria/keymaps/jack/config.h diff --git a/keymaps/kyria/keymap.c b/keyboards/splitkb/kyria/keymaps/jack/keymap.c diff --git a/keymaps/kyria/rules.mk b/keyboards/splitkb/kyria/keymaps/jack/rules.mk diff --git a/qmk.json b/qmk.json @@ -0,0 +1,11 @@ +{ + "userspace_version": "1.1", + "build_targets": [ + ["bioi/f60", "jack"], + ["boardsource/beiwagon", "jack"], + ["mkh_studio/bully", "jack"], + ["projectcain/relic", "jack"], + ["projectcain/vault35", "jack"], + ["splitkb/kyria/rev2", "jack"] + ] +} diff --git a/jack/autocorrect_data.h b/users/jack/autocorrect_data.h diff --git a/jack/autocorrect_dict.txt b/users/jack/autocorrect_dict.txt diff --git a/jack/colour.c b/users/jack/colour.c diff --git a/jack/combos.def b/users/jack/combos.def diff --git a/jack/config.h b/users/jack/config.h diff --git a/jack/introspection.c b/users/jack/introspection.c diff --git a/jack/jack.c b/users/jack/jack.c diff --git a/jack/jack.h b/users/jack/jack.h diff --git a/jack/oled.c b/users/jack/oled.c diff --git a/jack/oled.h b/users/jack/oled.h diff --git a/jack/oledfont.h b/users/jack/oledfont.h diff --git a/jack/picosdk_math.mk b/users/jack/picosdk_math.mk diff --git a/jack/post_rules.mk b/users/jack/post_rules.mk diff --git a/jack/rgb_matrix_user.inc b/users/jack/rgb_matrix_user.inc diff --git a/jack/rules.mk b/users/jack/rules.mk diff --git a/jack/tapping.c b/users/jack/tapping.c diff --git a/jack/unicode.c b/users/jack/unicode.c diff --git a/util/link.sh b/util/link.sh @@ -6,26 +6,9 @@ QMKFIRMWARE="$HOME/git/qmk_firmware" find $QMKFIRMWARE -type l -not -path "$QMKFIRMWARE/.venv/*" -delete rm $QMKFIRMWARE/.git/info/exclude -ln -sv $QMKME/jack $QMKFIRMWARE/users/jack -echo "users/jack" >> $QMKFIRMWARE/.git/info/exclude - for dir in "keyboards"/*; do src="$QMKME/$dir" dst="$QMKFIRMWARE/$dir" ln -sv $src $dst echo "$dir" >> $QMKFIRMWARE/.git/info/exclude done - -link_keymap() { - src="$QMKME/keymaps/$1" - dst="$QMKFIRMWARE/keyboards/$2/keymaps/jack" - ln -sv $src $dst - echo "keyboards/$2/keymaps/jack" >> $QMKFIRMWARE/.git/info/exclude -} - -link_keymap beiwagon boardsource/beiwagon -link_keymap bully mkh_studio/bully -link_keymap f60 bioi/f60 -link_keymap kyria splitkb/kyria -link_keymap relic projectcain/relic -link_keymap vault35 projectcain/vault35