13 Commits
latest ... main

Author SHA1 Message Date
f242360415 Removed debug keybind 2025-09-10 08:33:26 +02:00
899d61864b Move 5x6 to handwired 2025-09-09 21:29:10 +02:00
761c043b98 Added personal 5x6 layout 2025-07-20 13:28:23 +02:00
3eb651dc3a Added handwired/planck wholteza layout 2025-07-20 12:29:44 +02:00
Nick Brassel
41ee8332d1 Fix for .clangd. 2025-04-22 00:05:04 +10:00
Sergey Vlasov
35edec2998 Add clangd-related entries to .gitignore (#31)
This is needed to support VS Code with clangd for userspace keymaps (in
this case `compile_commands.json` and `.cache/clangd` are located in the
`qmk_userspace` working copy).
2024-09-05 18:51:35 +10:00
Chad Skeeters
e6f22f98b2 Removes duplicated word *with* in README.md (#29) 2024-08-30 03:27:51 +01:00
arisudesu
0f10c50b4c Add qmk config user.overlay_dir step to README.md (#23) 2024-06-12 13:00:54 +10:00
Vitaliy Zaytsev
7672002109 use containerWorkspaceFolder var and pass it to setup.sh (#12)
- folder name inside dev container is same as folder name on host
  so if it differs from qmk_userspace then setup.sh cannot be found
  and it sets incorrect user.overlay_dir
- docs https://containers.dev/implementors/json_reference/
2024-05-02 12:20:54 +01:00
Nick Brassel
6ddb67dc56 Replicate qmk/qmk_firmware#23310 2024-05-02 20:11:50 +10:00
Nick Brassel
67fac7803e Add support for devcontainers. (#6) 2024-02-23 22:35:45 +11:00
Nick Brassel
c8dcd9291b Point workflows at qmk/.githubs main branch (#1) 2023-11-28 16:44:02 +11:00
Nick Brassel
5212d63b29 Updated .gitignore. 2023-11-22 21:12:34 +11:00
11 changed files with 305 additions and 6 deletions

View File

@@ -1,4 +1,4 @@
CompileFlags:
Add: [-Wno-unknown-attributes, -Wno-maybe-uninitialized, -Wno-unknown-warning-option]
Remove: [-W*, -mcall-prologues]
Remove: [-W*, -mmcu=*, -mcpu=*, -mfpu=*, -mfloat-abi=*, -mno-unaligned-access, -mno-thumb-interwork, -mcall-prologues, -D__has_include*]
Compiler: clang

View File

@@ -0,0 +1,33 @@
// For format details, see https://aka.ms/devcontainer.json. For config options, see the
// README at: https://github.com/devcontainers/templates/tree/main/src/debian
{
"name": "QMK CLI",
// Or use a Dockerfile or Docker Compose file. More info: https://containers.dev/guide/dockerfile
"image": "ghcr.io/qmk/qmk_cli",
"customizations": {
"vscode": {
"extensions": [
"amodio.toggle-excluded-files",
"EditorConfig.EditorConfig",
"xaver.clang-format",
"llvm-vs-code-extensions.vscode-clangd",
"bierner.github-markdown-preview",
"donjayamanne.git-extension-pack",
"ms-vscode-remote.remote-containers"
]
}
},
"postCreateCommand": "${containerWorkspaceFolder}/.devcontainer/setup.sh ${containerWorkspaceFolder}"
// Features to add to the dev container. More info: https://containers.dev/features.
// "features": {},
// Use 'forwardPorts' to make a list of ports inside the container available locally.
// "forwardPorts": [],
// Configure tool-specific properties.
// "customizations": {},
// Uncomment to connect as root instead. More info: https://aka.ms/dev-containers-non-root.
// "remoteUser": "root"
}

23
.devcontainer/setup.sh Executable file
View File

@@ -0,0 +1,23 @@
#!/usr/bin/env bash
set -eEuo pipefail
wget https://bootstrap.pypa.io/get-pip.py
python3 get-pip.py
python3 -m pip install qmk
rm get-pip.py
python3 -m pip install --upgrade milc
userspacePath="$1"
git config --global --add safe.directory "$userspacePath"
git submodule update --init --recursive
[ -d /workspaces/qmk_firmware ] || git clone https://github.com/qmk/qmk_firmware.git /workspaces/qmk_firmware
git config --global --add safe.directory /workspaces/qmk_firmware
qmk config user.qmk_home=/workspaces/qmk_firmware
qmk config user.overlay_dir="$userspacePath"
qmk git-submodule

View File

@@ -8,13 +8,13 @@ permissions:
jobs:
build:
name: 'QMK Userspace Build'
uses: qmk/.github/.github/workflows/qmk_userspace_build.yml@qmk-userspace
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@qmk-userspace
uses: qmk/.github/.github/workflows/qmk_userspace_publish.yml@main
if: always() && !cancelled()
needs: build

15
.gitignore vendored
View File

@@ -1,3 +1,16 @@
# Junk files
*.bak
*.swp
*~
.DS_Store
._*
# Firmware files
*.hex
*.bin
*.uf2
*.uf2
# clangd
compile_commands.json
.clangd/
.cache/

12
.vscode/extensions.json vendored Normal file
View File

@@ -0,0 +1,12 @@
// Suggested extensions
{
"recommendations": [
"amodio.toggle-excluded-files",
"EditorConfig.EditorConfig",
"xaver.clang-format",
"llvm-vs-code-extensions.vscode-clangd",
"bierner.github-markdown-preview",
"donjayamanne.git-extension-pack",
"ms-vscode-remote.remote-containers"
]
}

View File

@@ -7,6 +7,7 @@ This is a template repository which allows for an external set of QMK keymaps to
1. Run the normal `qmk setup` procedure if you haven't already done so -- see [QMK Docs](https://docs.qmk.fm/#/newbs) for details.
1. Fork this repository
1. Clone your fork to your local machine
1. Enable userspace in QMK config using `qmk config user.overlay_dir="$(realpath qmk_userspace)"`
1. Add a new keymap for your board using `qmk new-keymap`
* This will create a new keymap in the `keyboards` directory, in the same location that would normally be used in the main QMK repository. For example, if you wanted to add a keymap for the Planck, it will be created in `keyboards/planck/keymaps/<your keymap name>`
* You can also create a new keymap using `qmk new-keymap -kb <your_keyboard> -km <your_keymap>`
@@ -15,7 +16,7 @@ This is a template repository which allows for an external set of QMK keymaps to
1. Add your keymap(s) to the build by running `qmk userspace-add -kb <your_keyboard> -km <your_keymap>`
* This will automatically update your `qmk.json` file
* Corresponding `qmk userspace-remove -kb <your_keyboard> -km <your_keymap>` will delete it
* Listing the build targets can be done with with `qmk userspace-list`
* Listing the build targets can be done with `qmk userspace-list`
1. Commit your changes
## Howto build with GitHub
@@ -55,4 +56,4 @@ This can also be used to control which fork is used, though only upstream `qmk_f
1. (First time only) `git submodule add https://github.com/qmk/qmk_firmware.git`
1. (To update) `git submodule update --init --recursive`
1. Commit your changes to your userspace repository
1. Commit your changes to your userspace repository

View File

@@ -0,0 +1,47 @@
/* Copyright 2025 Zackarias Montell @Wholteza
*
* 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/>.
*/
#include QMK_KEYBOARD_H
#include "keymap_swedish.h"
enum layer_names {
_BASE,
_NUM,
_SYM
};
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_BASE] = LAYOUT(
KC_ESC, SE_1, SE_2, SE_3, SE_4, SE_5, SE_6, SE_7, SE_8, SE_9, SE_0, SE_PLUS,
KC_ESC, SE_Q, SE_W, SE_F, SE_P, SE_G, SE_J, SE_L, SE_U, SE_Y, SE_ODIA, SE_ARNG,
KC_BSPC, SE_A, SE_R, SE_S, SE_T, SE_D, SE_H, SE_N, SE_E, SE_I, SE_O, SE_ADIA,
KC_LSFT, SE_Z, SE_X, SE_C, SE_V, SE_B, SE_K, SE_M, SE_COMM, SE_DOT, SE_MINS, KC_LSFT,
KC_LCTL, LCTL(KC_LSFT), KC_LGUI, KC_LALT, MO(1), KC_SPC, KC_SPC, MO(2), KC_ENT, KC_LGUI, LCTL(KC_LSFT), KC_LCTL
),
[_NUM] = LAYOUT(
KC_ESC, SE_1, SE_2, SE_3, SE_4, SE_5, SE_6, SE_7, SE_8, SE_9, SE_0, SE_PLUS,
KC_TAB, SE_1, SE_2, SE_3, SE_4, SE_5, SE_6, SE_7, SE_8, SE_9, SE_0, SE_PLUS,
KC_TRNS, KC_TRNS, KC_LEFT , KC_UP, KC_DOWN, KC_RIGHT, KC_HOME, KC_END, KC_PGDN, KC_PGUP, KC_TRNS, KC_F12,
KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MO(3), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
),
[_SYM] = LAYOUT(
KC_ESC, SE_1, SE_2, SE_3, SE_4, SE_5, SE_6, SE_7, SE_8, SE_9, SE_0, SE_PLUS,
KC_DEL, SE_EXLM, SE_AT, SE_DLR, SE_TILD, SE_CIRC, SE_LCBR, SE_LBRC, SE_RBRC, SE_RCBR, SE_LABK, KC_TRNS,
KC_TRNS, KC_TRNS, SE_DQUO, SE_HASH, SE_PERC, SE_QUOT, SE_SLSH, SE_LPRN, SE_RPRN, SE_EQL, SE_RABK, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, SE_ASTR, SE_BSLS, SE_GRV, KC_TRNS, KC_TRNS, KC_TRNS, SE_AMPR,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLD, KC_VOLU, SE_PIPE
)
};

View File

@@ -0,0 +1,111 @@
[
[
{
"c": "#ff0000",
"a": 5
},
"Tab\nDel\n\n\n\n\nESC",
{
"c": "#cccccc"
},
"1\n!\n\n\n\n\nQ",
"2\n@\n\n\n\n\nW",
"3\n$\n\n\n\n\nF",
"4\n~\n\n\n\n\nP",
"5\n^\n\n\n\n\nG",
"6\n{\n\n\n\n\nJ",
"7\n[\n\n\n\n\nL",
"8\n]\n\n\n\n\nU",
"9\n}\n\n\n\n\nY",
"0\n<\n\n\n\n\nÖ",
"+\n\n\n\n\n\nÅ"
],
[
{
"c": "#ff0000",
"a": 7
},
"Backsp\n\n\n\nReset",
{
"c": "#cccccc"
},
"A",
{
"a": 5
},
"Left\n\"\n\n\n\n\nR",
"Up\n#\n\n\n\n\nS",
"Down\n%\n\n\n\n\nT",
"Right\n'\n\n\n\n\nD",
"Home\n/\n\n\n\n\nH",
"End\n(\n\n\n\n\nN",
"Pgdn\n)\n\n\n\n\nE",
"Pgup\n=\n\n\n\n\nI",
"\n>\n\n\n\n\nO",
"F12\n\n\n\n\n\nÄ"
],
[
{
"c": "#969696",
"a": 7
},
"Shift",
{
"c": "#cccccc",
"a": 5
},
"F1\n\n\n\n\n\nZ",
"F2\n\n\n\n\n\nX",
"F3\n\n\n\n\n\nC",
"F4\n\n\n\n\n\nV",
"F5\n*\n\n\n\n\nB",
"F6\n\\\n\n\n\n\nK",
"F7\n`\n\n\n\n\nM",
"F8\n\n\n\n\n\n,",
"F9\n\n\n\n\n\n.",
"F10\n\n\n\n\n\n-",
{
"c": "#969696"
},
"F11\n&\n\n\n\n\nShift"
],
[
{
"a": 7
},
"Ctrl",
"Ctr+Sh",
"Win",
"Alt",
{
"c": "#ff0000"
},
"Numers",
{
"c": "#000000",
"t": "#ffffff",
"w": 2
},
"Space",
{
"c": "#ff0000",
"t": "#000000",
"a": 5
},
"Extras\n\n\n\n\n\nSymbols",
{
"c": "#0075ff",
"a": 7
},
"Enter",
{
"c": "#969696"
},
"Win",
"Ctr+Sh",
{
"a": 5
},
"\n|\n\n\n\n\nCtrl"
]
]

View File

@@ -0,0 +1,52 @@
/* Copyright 2025 Zackarias Montell @Wholteza
*
* 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/>.
*/
#include QMK_KEYBOARD_H
#include "keymap_swedish.h"
enum layer_names {
_BASE,
_NUM,
_SYM,
_EXTRAS
};
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_BASE] = LAYOUT(
KC_ESC, SE_Q, SE_W, SE_F, SE_P, SE_G, SE_J, SE_L, SE_U, SE_Y, SE_ODIA, SE_ARNG,
KC_BSPC, SE_A, SE_R, SE_S, SE_T, SE_D, SE_H, SE_N, SE_E, SE_I, SE_O, SE_ADIA,
KC_LSFT, SE_Z, SE_X, SE_C, SE_V, SE_B, SE_K, SE_M, SE_COMM, SE_DOT, SE_MINS, KC_LSFT,
KC_LCTL, LCTL(KC_LSFT), KC_LGUI, KC_LALT, MO(1), KC_SPC, MO(2), KC_ENT, KC_LGUI, LCTL(KC_LSFT), KC_LCTL
),
[_NUM] = LAYOUT(
KC_TAB, SE_1, SE_2, SE_3, SE_4, SE_5, SE_6, SE_7, SE_8, SE_9, SE_0, SE_PLUS,
KC_TRNS, KC_TRNS, KC_LEFT , KC_UP, KC_DOWN, KC_RIGHT, KC_HOME, KC_END, KC_PGDN, KC_PGUP, KC_TRNS, KC_F12,
KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MO(3), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
),
[_SYM] = LAYOUT(
KC_DEL, SE_EXLM, SE_AT, SE_DLR, SE_TILD, SE_CIRC, SE_LCBR, SE_LBRC, SE_RBRC, SE_RCBR, SE_LABK, KC_TRNS,
KC_TRNS, KC_TRNS, SE_DQUO, SE_HASH, SE_PERC, SE_QUOT, SE_SLSH, SE_LPRN, SE_RPRN, SE_EQL, SE_RABK, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, SE_ASTR, SE_BSLS, SE_GRV, KC_TRNS, KC_TRNS, KC_TRNS, SE_AMPR,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLD, KC_VOLU, SE_PIPE
),
[_EXTRAS] = LAYOUT(
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
)
};

View File

@@ -0,0 +1,7 @@
[Wholteza](https://github.com/wholteza)'s handwired planck layout
![keyboard-layout-editor.com layout](https://i.imgur.com/7kJDaVS.png)
This is a swedish layout using [colemak-se](https://github.com/motform/colemak-se) and a symbols layer tailored towards developers.
In addition to using colemak-se it also has backspace in place of caps lock to reduce the need of moving your hands.