My QMK configs
Find a file
Fabrice Mouhartem 37291904d1
Some checks failed
Build QMK firmware / QMK Userspace Build (push) Has been cancelled
Build QMK firmware / QMK Userspace Publish (push) Has been cancelled
fix(config): Lower TAPPING_TERM
2025-12-18 20:42:23 +01:00
.devcontainer use containerWorkspaceFolder var and pass it to setup.sh (#12) 2024-05-02 12:20:54 +01:00
.github/workflows Point workflows at qmk/.githubs main branch (#1) 2023-11-28 16:44:02 +11:00
.vscode Add support for devcontainers. (#6) 2024-02-23 22:35:45 +11:00
img fix(keymap): better names for Base and NavNum layers 2025-07-27 14:36:17 +02:00
json feat(assets): add static assets 2025-07-13 13:43:54 +02:00
keyboards fix(config): Lower TAPPING_TERM 2025-12-18 20:42:23 +01:00
layouts Initial structure. 2023-11-22 15:22:43 +11:00
users Initial structure. 2023-11-22 15:22:43 +11:00
.clang-format Initial structure. 2023-11-22 15:22:43 +11:00
.clangd Fix for .clangd. 2025-04-22 00:05:04 +10:00
.editorconfig Initial structure. 2023-11-22 15:22:43 +11:00
.gitignore Add clangd-related entries to .gitignore (#31) 2024-09-05 18:51:35 +10:00
LICENSE Initial structure. 2023-11-22 15:22:43 +11:00
Makefile Initial structure. 2023-11-22 15:22:43 +11:00
qmk.json Initial structure. 2023-11-22 15:22:43 +11:00
README.md fix(illustrations): use svg images from keyboard-drawer 2025-07-26 22:39:53 +02:00

QMK Userspace

This is a repository which allows for an external set of QMK keymaps to be defined and compiled. This is useful to maintain keymaps without having to fork the main QMK repository.

Howto use it

This repository contains my somewhat unified configurations for the following keyboards:

  • Ferris bling 0.2
  • Atreus42 promicro
  • Xbows nature

Prerequisites:

  1. qmk installed in the computer
  2. Userspace configured on the computer
    • qmk config user.overlay_dir=$(realpath qmk_userspace)

The goal of this repo is to store my custom configurations for PERMISSIVE_HOLD_PER_KEY for instance and timings for mouse emulation and so on to simplify further changes and synchronise the qmk configuration on different computers.

The keyboard configuration can be done on the online configurator using the json files.

Then, it can simply be transformed in a C file that can be used as is in the corresponding repository with:

qmk json2c <json file location> > keymap.c

Finally, to flash the firmware:

qmk flash -kb <keyboard type> -km custom

Description of the layers

The main configuration relies on a 34 keys keyboard, lets say the ferris, as a base with GASC homerow mods.

The base layer looks like this:

Base Layer

PERMISSIVE_HOLD is disabled on home row keys to avoid false positive on rolls, and enabled for thumb keys as there are few false positives in this case.

The internal thumb keys move to the nav/numpad layer on hold or space/tap on tap. This layer is the following:

Num-Nav Layer

Finally, holding both internal thumb keys (or holding left external one) leads to the function/mouse nav layer:

Fun-Mouse Layer

This layer also allows accessing custom layers, such as here layer 3 that is the qwerty-ergol compatibility layer or the layer 4 which is a gaming layer (not described here).

When Im using multiple xkeyboard layouts, my shortcut to switch between them is double shifts, thats why there is also a binding for that (and why its the only one that is symmetrically correct in the homerow mods in the base layer).

The illustrations were made using keymap-drawer.

Left to do

  • Automatize the firmware generations