Compare commits

..
Author SHA1 Message Date
James Young c7a7982e23 Branch point for 2021 May 29 Breaking Change 2021-02-27 12:54:23 -08:00
65 changed files with 102 additions and 100 deletions

No files matched your search

+1 -1
View File
@@ -88,7 +88,7 @@
"oneOf": [
{
"type": "string",
"enum": ["LAYOUT", "LAYOUT_planck_1x2uC"]
"enum": ["LAYOUT"]
},
{
"type": "string",
-21
View File
@@ -126,8 +126,6 @@ The following input modes are available:
Enabled by default and works almost anywhere on IBus-enabled distros. Without IBus, this mode works under GTK apps, but rarely anywhere else.
By default, this mode uses Ctrl+Shift+U (`LCTL(LSFT(KC_U))`) to start Unicode input, but this can be changed by defining [`UNICODE_KEY_LNX`](#input-key-configuration) with a different keycode. This might be required for IBus versions ≥1.5.15, where Ctrl+Shift+U behavior is consolidated into Ctrl+Shift+E.
Users who wish support in non-GTK apps without IBus may need to resort to a more indirect method, such as creating a custom keyboard layout ([more on this method](#custom-linux-layout)).
* **`UC_WIN`**: _(not recommended)_ Windows built-in hex numpad Unicode input. Supports code points up to `0xFFFF`.
To enable, create a registry key under `HKEY_CURRENT_USER\Control Panel\Input Method` of type `REG_SZ` called `EnableHexNumpad` and set its value to `1`. This can be done from the Command Prompt by running `reg add "HKCU\Control Panel\Input Method" -v EnableHexNumpad -t REG_SZ -d 1` with administrator privileges. Reboot afterwards.
@@ -272,22 +270,3 @@ AutoHotkey inserts the Text right of `Send, ` when this combination is pressed.
If you enable the US International layout on the system, it will use punctuation to accent the characters. For instance, typing "\`a" will result in à.
You can find details on how to enable this [here](https://support.microsoft.com/en-us/help/17424/windows-change-keyboard-layout).
## Software keyboard layout on Linux :id=custom-linux-layout
This method does not require Unicode support on the keyboard itself but instead uses a custom keyboard layout for Xorg. This is how special characters are inserted by regular keyboards. This does not require IBus and works in practically all software. Help on creating a custom layout can be found [here](https://www.linux.com/news/creating-custom-keyboard-layouts-x11-using-xkb/), [here](http://karols.github.io/blog/2013/11/18/creating-custom-keyboard-layouts-for-linux/) and [here](https://wiki.archlinux.org/index.php/X_keyboard_extension). An example of how you could edit the `us` layout to gain 🤣 on `RALT(KC_R)`:
Edit the keyboard layout file `/usr/share/X11/xkb/symbols/us`.
Inside `xkb_symbols "basic" {`, add `include "level3(ralt_switch)"`.
Find the line defining the R key and add an entry to the list, making it look like this:
```
key <AD04> { [ r, R, U1F923 ] };
```
Save the file and run the command `setxkbmap us` to reload the layout.
You can define one custom character for key defined in the layout, and another if you populate the fourth layer. Additional layers up to 8th are also possible.
This method is specific to the computer on which you set the custom layout. The custom keys will be available only when Xorg is running. To avoid accidents, you should always reload the layout using `setxkbmap`, otherwise an invalid layout could prevent you from logging into your system, locking you out.
+1 -9
View File
@@ -4,9 +4,8 @@ This project includes a Docker workflow that will allow you to build a new firmw
## Requirements
The main prerequisite is a working `docker` or `podman` install.
The main prerequisite is a working `docker` install.
* [Docker CE](https://docs.docker.com/install/#supported-platforms)
* [Podman](https://podman.io/getting-started/installation)
## Usage
@@ -39,13 +38,6 @@ util/docker_build.sh
# Reads parameters as input (leave blank for all keyboards/keymaps)
```
You can manually set which container runtime you want to use by setting the `RUNTIME` environment variable to it's name or path.
By default docker or podman are automatically detected and docker is preferred over podman.
```bash
RUNTIME="podman" util/docker_build.sh keyboard:keymap:target
```
## FAQ
### Why can't I flash on Windows/macOS
+1
View File
@@ -1,5 +1,6 @@
{
"keyboard_name": "SharkPCB",
"keyboard_folder": "acheron/shark",
"url": "https://gondolindrim.github.io/AcheronDocs/shark/intro.html",
"maintainer": "Gondolindrim",
"width": 12,
+1
View File
@@ -1,5 +1,6 @@
{
"keyboard_name": "AT101 BH PCB",
"keyboard_folder": "at101_bh",
"url": "https://deskthority.net/group-buys-f50/programmable-vintage-board-pcbs-omnikey-at101-and-z-150-t19325.html",
"maintainer": "qmk, blindassassin111",
"width": 22.5,
+1
View File
@@ -1,5 +1,6 @@
{
"keyboard_name": "Chimera Ortho",
"keyboard_folder": "chimera_ortho",
"maintainer": "qmk",
"width": 15.5,
"height": 4.25,
+1
View File
@@ -1,5 +1,6 @@
{
"keyboard_name": "Chimera Ortho Plus",
"keyboard_folder": "chimera_ortho_plus",
"maintainer": "qmk",
"width": 13.5,
"height": 6,
+1
View File
@@ -1,5 +1,6 @@
{
"keyboard_name": "Christmas Tree",
"keyboard_folder": "christmas_tree",
"url": "https://www.reddit.com/r/MechanicalKeyboards/comments/7cqxpf/gb_christmas_tree_pcb_gb_now_live/",
"maintainer": "That-Canadian",
"width": 3,
+1
View File
@@ -1,5 +1,6 @@
{
"keyboard_name": "HP_46010A",
"keyboard_folder": "converter/HP_46010A",
"url": "https://deskthority.net/wiki/HP_46010A",
"maintainer": "listofoptions",
"width": 22,
+1
View File
@@ -1,5 +1,6 @@
{
"keyboard_name": "IBM 5291",
"keyboard_folder": "converter/ibm_5291",
"url": "https://deskthority.net/wiki/IBM_Model_F#IBM_5291_Keyboard",
"maintainer": "listofoptions",
"width": 21,
@@ -1,5 +1,6 @@
{
"keyboard_name": "Palm Stowaway Serial",
"keyboard_folder": "converter/palm_usb/stowaway",
"url": "",
"maintainer": "qmk",
"width": 15.25,
@@ -1,5 +1,6 @@
{
"keyboard_name": "Sun Type 3",
"keyboard_folder": "converter/sun_usb/type3",
"url": "",
"maintainer": "qmk",
"width": 21,
@@ -1,5 +1,6 @@
{
"keyboard_name": "Sun Type 5",
"keyboard_folder": "converter/sun_usb/type5",
"url": "",
"maintainer": "qmk",
"width": 24.75,
+1
View File
@@ -1,5 +1,6 @@
{
"keyboard_name": "IBM PC XT",
"keyboard_folder": "converter/xt_usb",
"url": "",
"maintainer": "qmk",
"width": 21,
+1
View File
@@ -1,5 +1,6 @@
{
"keyboard_name": "CRBN",
"keyboard_folder": "crbn",
"url": "polarityworks.com",
"maintainer": "qmk",
"width": 12,
+1
View File
@@ -1,5 +1,6 @@
{
"keyboard_name": "Plaid // Through Hole",
"keyboard_folder": "dm9records/plaid",
"url": "https://github.com/hsgw/plaid",
"maintainer": "hsgw(Takuya Urakawa)",
"width": 12,
+1
View File
@@ -1,5 +1,6 @@
{
"keyboard_name": "Tartan # Through Hole",
"keyboard_folder": "dm9records/tartan",
"url": "https://github.com/hsgw/tartan",
"maintainer": "hsgw(Takuya Urakawa)",
"width": 13,
+1
View File
@@ -1,5 +1,6 @@
{
"keyboard_name": "DZ96",
"keyboard_folder": "dztech/dz96",
"url": "",
"maintainer": "kb-elmo",
"width": 19,
+2 -1
View File
@@ -1,5 +1,6 @@
{
"keyboard_name": "Quadrant E-C",
"keyboard_folder": "ealdin/quadrant",
"url": "https://github.com/Ealdin/keyboards/tree/master/Quadrant",
"maintainer": "Ealdin Keyboards",
"width": 14,
@@ -21,4 +22,4 @@
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":0, "y":1}, {"x":1, "y":1}, {"x":2, "y":1}, {"x":3, "y":1}, {"x":4, "y":1}, {"x":5, "y":1}, {"x":6, "y":1}, {"x":7, "y":1}, {"x":8, "y":1}, {"x":9, "y":1}, {"x":10, "y":1}, {"x":11, "y":1}, {"x":12, "y":1}, {"x":13, "y":1}, {"x":0, "y":2}, {"x":1, "y":2}, {"x":2, "y":2}, {"x":3, "y":2}, {"x":4, "y":2}, {"x":5, "y":2}, {"x":6, "y":2}, {"x":7, "y":2}, {"x":8, "y":2}, {"x":9, "y":2}, {"x":10, "y":2}, {"x":11, "y":2}, {"x":12, "y":2}, {"x":13, "y":2}, {"x":0, "y":3}, {"x":1, "y":3}, {"x":2, "y":3}, {"x":3, "y":3}, {"x":4, "y":3}, {"x":5, "y":3}, {"x":6, "y":3}, {"x":7, "y":3}, {"x":8, "y":3}, {"x":9, "y":3}, {"x":10, "y":3}, {"x":11, "y":3}, {"x":12, "y":3}, {"x":13, "y":3}, {"x":0, "y":4}, {"x":1, "y":4}, {"x":2, "y":4}, {"x":3, "y":4}, {"x":4, "y":4}, {"x":5, "y":4, "w":2}, {"x":7, "y":4, "w":2}, {"x":9, "y":4}, {"x":10, "y":4}, {"x":11, "y":4}, {"x":12, "y":4}, {"x":13, "y":4}]
}
}
}
}
+1
View File
@@ -1,5 +1,6 @@
{
"keyboard_name": "Espectro",
"keyboard_folder": "espectro",
"url": "",
"maintainer": "qmk",
"width": 19,
+1
View File
@@ -1,5 +1,6 @@
{
"keyboard_name": "Angel",
"keyboard_folder": "angel",
"url": "https://github.com/jamessa/Angel",
"maintainer": "jamessa",
"width": 13,
+1
View File
@@ -1,5 +1,6 @@
{
"keyboard_name": "Aranck",
"keyboard_folder": "handwired/aranck",
"url": "https://github.com/Ardakilic",
"maintainer": "Arda Kilicdagi",
"width": 12,
+1
View File
@@ -1,5 +1,6 @@
{
"keyboard_name": "Heisenberg",
"keyboard_folder": "handwired/heisenberg",
"url": "https://github.com/Ardakilic",
"maintainer": "Arda Kilicdagi",
"width": 12,
+1
View File
@@ -1,5 +1,6 @@
{
"keyboard_name": "Hub20",
"keyboard_folder": "hub20",
"url": "https://github.com/joshajohnson/hub20",
"maintainer": "joshajohnson",
"width": 4,
+1
View File
@@ -1,5 +1,6 @@
{
"keyboard_name": "Infinity 60%",
"keyboard_folder": "infinity60",
"url": "https://input.club/devices/infinity-keyboard/",
"maintainer": "qmk",
"width": 15,
+1
View File
@@ -1,5 +1,6 @@
{
"keyboard_name": "Rorschach",
"keyboard_folder": "rorschach",
"url": "https://keeb.io",
"maintainer": "nooges",
"width": 15,
+1
View File
@@ -1,5 +1,6 @@
{
"keyboard_name": "model01",
"keyboard_folder": "keyboardio/model01",
"url": "https://keyboard.io",
"maintainer": "qmk",
"width": 18.5,
+1
View File
@@ -1,5 +1,6 @@
{
"keyboard_name": "O4L 5x12",
"keyboard_folder": "keycapsss/o4l_5x12",
"url": "https://github.com/qmk/qmk_firmware/tree/master/keyboards/keycapsss/o4l_5x12",
"maintainer": "BenRoe",
"width": 12,
+1
View File
@@ -1,5 +1,6 @@
{
"keyboard_name": "Plaid-Pad",
"keyboard_folder": "plaid_pad",
"url": "https://keycapsss.com/diy-kits/104/plaid-pad-4x4-numpad",
"maintainer": "BenRoe",
"width": 4,
+1
View File
@@ -1,5 +1,6 @@
{
"keyboard_name": "smd_milk",
"keyboard_folder": "kinlgy_keys/smd_milk",
"url": "",
"maintainer": "TheRoyalSweatshirt",
"width": 1,
+22 -22
View File
@@ -8,32 +8,32 @@
"LAYOUT_ortho": {
"layout": [
{"label": "F17", "x": 1, "y": 0},
{"label": "F18", "x": 2, "y": 0},
{"label": "F19", "x": 3, "y": 0},
{"label": "F20", "x": 4, "y": 0},
{"Label": "F17", "x": 1, "y": 0},
{"Label": "F18", "x": 2, "y": 0},
{"Label": "F19", "x": 3, "y": 0},
{"Label": "F20", "x": 4, "y": 0},
{"label": "F13", "x": 1, "y": 1},
{"label": "F14", "x": 2, "y": 1},
{"label": "F15", "x": 3, "y": 1},
{"label": "F16", "x": 4, "y": 1},
{"Label": "F13", "x": 1, "y": 1},
{"Label": "F14", "x": 2, "y": 1},
{"Label": "F15", "x": 3, "y": 1},
{"Label": "F16", "x": 4, "y": 1},
{"label": "F9", "x": 1, "y": 2},
{"label": "F10", "x": 2, "y": 2},
{"label": "F11", "x": 3, "y": 2},
{"label": "F12", "x": 4, "y": 2},
{"Label": "F9", "x": 1, "y": 2},
{"Label": "F10", "x": 2, "y": 2},
{"Label": "F11", "x": 3, "y": 2},
{"Label": "F12", "x": 4, "y": 2},
{"label": "K2", "x": 0, "y": 3},
{"label": "F5", "x": 1, "y": 3},
{"label": "F6", "x": 2, "y": 3},
{"label": "F7", "x": 3, "y": 3},
{"label": "F8", "x": 4, "y": 3},
{"Label": "K2", "x": 0, "y": 3},
{"Label": "F5", "x": 1, "y": 3},
{"Label": "F6", "x": 2, "y": 3},
{"Label": "F7", "x": 3, "y": 3},
{"Label": "F8", "x": 4, "y": 3},
{"label": "K1", "x": 0, "y": 4},
{"label": "F1", "x": 1, "y": 4},
{"label": "F2", "x": 2, "y": 4},
{"label": "F3", "x": 3, "y": 4},
{"label": "F4", "x": 4, "y": 4}
{"Label": "K1", "x": 0, "y": 4},
{"Label": "F1", "x": 1, "y": 4},
{"Label": "F2", "x": 2, "y": 4},
{"Label": "F3", "x": 3, "y": 4},
{"Label": "F4", "x": 4, "y": 4}
]
}
+1
View File
@@ -1,5 +1,6 @@
{
"keyboard_name": "Lx3 Whale 75",
"keyboard_folder": "linworks/whale75",
"maintainer": "ebastler",
"width": 16.25,
"height": 6.5,
-1
View File
@@ -1,6 +1,5 @@
# MCU name
MCU = STM32F303
BOARD = QMK_PROTON_C
# Build Options
# change yes to no to disable
+1
View File
@@ -1,5 +1,6 @@
{
"keyboard_name": "Little Alby",
"keyboard_folder": "mute",
"url": "",
"maintainer": "albybarber",
"width": 1,
+1
View File
@@ -1,5 +1,6 @@
{
"keyboard_name": "Phoebe",
"keyboard_folder": "maxr1998/phoebe",
"url": "https://github.com/Maxr1998/Phoebe_Keyboard",
"maintainer": "Maxr1998",
"width": 12,
+1
View File
@@ -1,5 +1,6 @@
{
"keyboard_name": "Pulse 4k",
"keyboard_folder": "maxr1998/pulse4k",
"url": "https://github.com/Maxr1998/Pulse_4k",
"maintainer": "Maxr1998",
"width": 3,
-1
View File
@@ -1,6 +1,5 @@
# MCU name
MCU = STM32F303
BOARD = QMK_PROTON_C
# Build Options
# change yes to no to disable
-1
View File
@@ -1,6 +1,5 @@
# MCU name
MCU = STM32F303
BOARD = QMK_PROTON_C
# Build Options
# change yes to no to disable
-1
View File
@@ -1,6 +1,5 @@
# MCU name
MCU = STM32F303
BOARD = QMK_PROTON_C
# Build Options
# change yes to no to disable
+1
View File
@@ -1,5 +1,6 @@
{
"keyboard_name": "Meson",
"keyboard_folder": "meson",
"maintainer": "qmk",
"width": 15.5,
"height": 4,
+2
View File
@@ -74,6 +74,8 @@
]
},
"LAYOUT_with_setta21": {
"width": 21.5,
"height": 6.25,
"layout": [
{"label":"pgup", "x":0.25, "y":0},
{"label":"ESC", "x":1.75, "y":0},
+1
View File
@@ -1,5 +1,6 @@
{
"keyboard_name": "SCRAMBLE switch tester",
"keyboard_folder": "nullbitsco/scramble",
"url": "https://nullbits.co/scramble",
"maintainer": "jaygreco",
"width": 3,
+1
View File
@@ -1,5 +1,6 @@
{
"keyboard_name": "ortho5by12",
"keyboard_folder": "ortho5by12",
"url": "https://github.com/itsnoteasy/misc/blob/master/ortho5by12.zip",
"maintainer": "itsnoteasy",
"width": 12,
+1
View File
@@ -1,5 +1,6 @@
{
"keyboard_name": "Planck EZ",
"keyboard_folder": "planck/ez",
"url": "https://ergodox-ez.com/pages/planck",
"maintainer": "jackhumbert",
"width": 12,
+1
View File
@@ -1,5 +1,6 @@
{
"keyboard_name": "Planck",
"keyboard_folder": "planck",
"url": "https://olkb.com/planck",
"maintainer": "jackhumbert",
"width": 12,
+1
View File
@@ -1,5 +1,6 @@
{
"keyboard_name": "Planck Light",
"keyboard_folder": "planck/light",
"url": "https://olkb.com/planck",
"maintainer": "jackhumbert",
"width": 12,
+1
View File
@@ -1,5 +1,6 @@
{
"keyboard_name": "Planck rev 1",
"keyboard_folder": "planck/rev1",
"url": "https://olkb.com/planck",
"maintainer": "jackhumbert",
"width": 12,
+1
View File
@@ -1,5 +1,6 @@
{
"keyboard_name": "Planck rev 2",
"keyboard_folder": "planck/rev2",
"url": "https://olkb.com/planck",
"maintainer": "jackhumbert",
"width": 12,
+1
View File
@@ -1,5 +1,6 @@
{
"keyboard_name": "Planck rev 3",
"keyboard_folder": "planck/rev3",
"url": "https://olkb.com/planck",
"maintainer": "jackhumbert",
"width": 12,
+1
View File
@@ -1,5 +1,6 @@
{
"keyboard_name": "Planck rev 4",
"keyboard_folder": "planck/rev4",
"url": "https://olkb.com/planck",
"maintainer": "jackhumbert",
"width": 12,
+1
View File
@@ -1,5 +1,6 @@
{
"keyboard_name": "Planck rev 5",
"keyboard_folder": "planck/rev5",
"url": "https://olkb.com/planck",
"maintainer": "jackhumbert",
"width": 12,
+1
View File
@@ -1,5 +1,6 @@
{
"keyboard_name": "Planck rev 6",
"keyboard_folder": "planck/rev6",
"url": "https://olkb.com/planck",
"maintainer": "jackhumbert",
"width": 12,
+1
View File
@@ -1,5 +1,6 @@
{
"keyboard_name": "Preonic",
"keyboard_folder": "preonic",
"url": "https://olkb.com/preonic",
"maintainer": "jackhumbert",
"width": 12,
+1
View File
@@ -1,5 +1,6 @@
{
"keyboard_name": "Preonic rev. 3",
"keyboard_folder": "preonic/rev3",
"url": "https://olkb.com/preonic",
"maintainer": "jackhumbert",
"width": 12,
+1
View File
@@ -1,5 +1,6 @@
{
"keyboard_name": "2% Milk",
"keyboard_folder": "2_milk",
"url": "",
"maintainer": "Spaceman",
"width": 1,
+1
View File
@@ -1,5 +1,6 @@
{
"keyboard_name": "Pancake",
"keyboard_folder": "Pancake",
"url": "",
"maintainer": "Spaceman",
"width": 12,
+1
View File
@@ -1,5 +1,6 @@
{
"keyboard_name": "yun65",
"keyboard_folder": "spaceman/yun65",
"url": "",
"maintainer": "Spaceman",
"width": 1,
+1
View File
@@ -1,5 +1,6 @@
{
"keyboard_name": "Uno",
"keyboard_folder": "uno",
"url": "https://www.reddit.com/r/mechmarket/comments/gyijm7/gb_uno/",
"maintainer": "Snipeye",
"width": 1,
+1
View File
@@ -1,5 +1,6 @@
{
"keyboard_name": "Styrka",
"keyboard_folder": "viktus/styrka",
"url": "https",
"maintainer": "jrfhoutx",
"width": 18.25,
+1
View File
@@ -1,5 +1,6 @@
{
"keyboard_name": "winkeyless.kr B.mini EX",
"keyboard_folder": "bminiex",
"url": "https://winkeyless.kr/product/b-mini-ex-x2-pcb/",
"maintainer": "qmk",
"width": 20.25,
+2 -3
View File
@@ -454,9 +454,8 @@ def _find_all_layouts(info_data, keyboard):
if these_layouts:
layouts.update(these_layouts)
for alias, alias_text in these_aliases.items():
if alias_text in layouts:
aliases[alias] = alias_text
if these_aliases:
aliases.update(these_aliases)
return layouts, aliases
+6
View File
@@ -9,6 +9,12 @@
This is a keyboard firmware based on the [tmk\_keyboard firmware](https://github.com/tmk/tmk_keyboard) with some useful features for Atmel AVR and ARM controllers, and more specifically, the [OLKB product line](https://olkb.com), the [ErgoDox EZ](https://ergodox-ez.com) keyboard, and the [Clueboard product line](https://clueboard.co).
# THIS IS THE DEVELOP BRANCH
Warning- This is the `develop` branch of QMK Firmware. You may encounter broken code here. Please see [Breaking Changes](https://docs.qmk.fm/#/breaking_changes) for more information.
# Original readme continues
## Documentation
* [See the official documentation on docs.qmk.fm](https://docs.qmk.fm)
+5 -5
View File
@@ -76,11 +76,6 @@ void action_exec(keyevent_t event) {
#endif
}
if (event.pressed) {
// clear the potential weak mods left by previously pressed keys
clear_weak_mods();
}
#ifdef SWAP_HANDS_ENABLE
if (!IS_NOEVENT(event)) {
process_hand_swap(&event);
@@ -242,6 +237,11 @@ void process_action(keyrecord_t *record, action_t action) {
uint8_t tap_count = record->tap.count;
#endif
if (event.pressed) {
// clear the potential weak mods left by previously pressed keys
clear_weak_mods();
}
#ifndef NO_ACTION_ONESHOT
bool do_release_oneshot = false;
// notice we only clear the one shot layer if the pressed key is not a modifier.
+2 -4
View File
@@ -82,16 +82,14 @@ static void vusb_suspend(void) {
suspend_power_down();
}
#if USB_COUNT_SOF
static void vusb_wakeup(void) {
vusb_suspended = false;
suspend_wakeup_init();
# ifdef SLEEP_LED_ENABLE
#ifdef SLEEP_LED_ENABLE
sleep_led_disable();
# endif
}
#endif
}
/** \brief Setup USB
*
+9 -30
View File
@@ -17,27 +17,12 @@ done
if [ $# -gt 1 ]; then
errcho "$USAGE"
exit 1
elif ! command -v docker >/dev/null 2>&1; then
errcho "Error: docker not found"
errcho "See https://docs.docker.com/install/#supported-platforms for installation instructions"
exit 2
fi
# Allow $RUNTIME to be overriden by the user as an environment variable
# Else check if either docker or podman exit and set them as runtime
# if none are found error out
if [ -z "$RUNTIME" ]; then
if command -v docker >/dev/null 2>&1; then
RUNTIME="docker"
elif command -v podman >/dev/null 2>&1; then
RUNTIME="podman"
else
errcho "Error: no compatible container runtime found."
errcho "Either podman or docker are required."
errcho "See https://podman.io/getting-started/installation"
errcho "or https://docs.docker.com/install/#supported-platforms"
errcho "for installation instructions."
exit 2
fi
fi
# Determine arguments
if [ $# -eq 0 ]; then
printf "keyboard=" && read -r keyboard
@@ -56,26 +41,20 @@ if [ -z "$keyboard" ]; then
keyboard=all
fi
if [ -n "$target" ]; then
# IF we are using docker on non Linux and docker-machine isn't working print an error
# ELSE set usb_args
if [ ! "$(uname)" = "Linux" ] && [ "$RUNTIME" = "docker" ] && ! docker-machine active >/dev/null 2>&1; then
if [ "$(uname)" = "Linux" ] || docker-machine active >/dev/null 2>&1; then
usb_args="--privileged -v /dev:/dev"
else
errcho "Error: target requires docker-machine to work on your platform"
errcho "See http://gw.tnode.com/docker/docker-machine-with-usb-support-on-windows-macos"
errcho "Consider flashing with QMK Toolbox (https://github.com/qmk/qmk_toolbox) instead"
exit 3
else
usb_args="--privileged -v /dev:/dev"
fi
fi
dir=$(pwd -W 2>/dev/null) || dir=$PWD # Use Windows path if on Windows
if [ "$RUNTIME" = "docker" ]; then
uid_arg="--user $(id -u):$(id -g)"
fi
# Run container and build firmware
"$RUNTIME" run --rm -it $usb_args \
$uid_arg \
docker run --rm -it $usb_args \
--user $(id -u):$(id -g) \
-w /qmk_firmware \
-v "$dir":/qmk_firmware \
-e ALT_GET_KEYBOARDS=true \