Compare commits

...

61 Commits

Author SHA1 Message Date
Nick Brassel 33f5e67408 Download relevant toolchain. 2024-07-01 23:04:04 +10:00
Joel Challis 3ffe8d917a Fix 'qmk new-keyboard' processing of development_board (#23996) 2024-06-30 03:39:49 +01:00
Danylo Kondratiev 12379dc1eb Fix ploopy Adept/Madromys link (#24018) 2024-06-30 02:57:35 +01:00
Ryan d6bfbdb6b1 horrortroll/handwired_k552: fix RGB Matrix LED config (#24014) 2024-06-29 20:56:29 +10:00
Ryan cc0b2f9814 jels/boaty: adjust layout name (#24013) 2024-06-29 10:20:11 +01:00
Ryan 5624804c68 h0oni/deskpad and hotduck: adjust layout names (#24004) 2024-06-29 10:19:51 +01:00
Ryan 2bde8ce206 ez_maker: adjust layout names (#24015) 2024-06-29 07:54:52 +01:00
Ryan 086e8e938e tzarc/djinn: adjust layout name (#24012) 2024-06-29 16:00:05 +10:00
Ryan cd374b1500 clueboard/card: Swap layout and alias (#24007) 2024-06-29 04:07:42 +01:00
Danny 9d02ac37f7 Add Nyquist Rev. 5 (#23971)
* Add Nyquist Rev. 5

* Remove unused keymap
2024-06-27 13:37:41 -04:00
David Hoelscher 603586800c [Keyboard] Add Elysian (#23949)
* adding Elysian

* corrections from zvecr
2024-06-26 21:56:16 -06:00
TyraelWasTaken 90b043e01c Add support for Equanimity (#23965)
* Add Equanimity files

* Update keyboard.json format

* Update readme.md

* CRLF to LF

* Force LF and correct rules.mk

* Remove config.h

* Remove rules.mk

* Update keymap.c

* Update keyboard.json

* Update name in readme.md
2024-06-26 21:55:47 -06:00
Ryan 5f794217b4 xelus/snap96: add matrix diagram and some additional layouts (#23992) 2024-06-26 14:35:45 +10:00
Ryan b71b81d539 hs60/v2/hhkb: Adjust layout name (#23998) 2024-06-26 05:28:45 +01:00
Ryan 17ae6f9b53 helix/pico and rev2: add keyboard.jsons (#23964) 2024-06-26 13:47:36 +10:00
Joel Challis cebe521b11 Fix docker_cmd.sh when userspace is not configured (#23997) 2024-06-26 11:34:24 +10:00
Joel Challis 0b572a1be6 Remove some redundant 'blank' files (#23995) 2024-06-25 07:38:56 +01:00
Ryan 378dbd32bd custommk/ergostrafer_rgb: move to keyboard.json (#23990) 2024-06-24 18:19:48 +10:00
Nick Brassel 03e688e91f Add support for userspace to docker build commands. (#23988) 2024-06-24 12:29:30 +10:00
Ryan d5e0562a70 Rename layouts containing keyboard name (#23930) 2024-06-23 19:33:26 +01:00
Ryan 191c8cca33 handwired/symmetric70_proto: add keyboard.json (#23966) 2024-06-23 03:57:50 +01:00
Joel Challis 7aa2ce2b38 Update documentation suggestion in top level readme (#23978) 2024-06-22 05:45:04 +01:00
Joel Challis 6f03d20a92 Fix 'qmk import-kbfirmware' WS2812 config (#23976) 2024-06-22 04:27:57 +01:00
Danny e5c80fc6b3 Update what's powering QMK docs (#23977) 2024-06-22 04:27:15 +01:00
Kevin Horvat aa11ef5bcf Fix leftover reference to previous AW20216S EN pin definition (#23974) 2024-06-22 01:53:59 +01:00
Drashna Jaelre a6ef34cd16 [Keyboard] fixes for ZSA Voyager (#23912) 2024-06-20 09:08:57 +01:00
Joel Challis 4fdde75333 Update 'qmk import-kbfirmware' to use 'keyboard.json' (#23960) 2024-06-20 02:59:29 +01:00
lizaoreo dafc46f1d1 Update RGB matrix indicator example (#23947)
Changed the example in indicator-examples-2 to use a compound literal, otherwise the code fails to compile.
2024-06-17 20:30:57 +01:00
Ryan baa564bddf Remove references to bootloadHID flashing page in keyboard readmes (#23942)
* Remove references to bootloadHID flashing page in keyboard readmes

* Remove bootloadHID flashing page
2024-06-17 20:23:45 +01:00
Ryan 3f44231d2d Strip decimals from RGB Matrix layout positions (#23943) 2024-06-17 20:12:26 +10:00
Ryan 4864d5afca Mechwild OBE/Waka60: Fix build warnings (#23929) 2024-06-17 14:47:33 +10:00
Ryan 089a819179 keyboard.json schema: set minimum value for key_unit (#23937)
* keyboard.json schema: set minimum value for `key_unit`

* Fix invalid `matrix_size` in keyboard.json

* Fix bad layout for silverbullet44
2024-06-16 21:57:37 +01:00
Danny 751fbd75d3 Add Chiri CE (#23926)
* Add Chiri CE

* Add more layers for dynamic keymap

* Move EEPROM clear

* Convert to keymap.json

* Change bootmagic matrix position
2024-06-16 12:16:05 -06:00
Ryan 3c868b9316 ergodox_ez/base: Add missing features object (#23935) 2024-06-16 22:52:47 +10:00
Nick Brassel 7ac1a34a34 [CLI] Older python compat. (#23933) 2024-06-16 19:53:03 +10:00
David Hoelscher ad82c4703a [Keyboard] ErgoStrafer RGB (#22936)
* adding ergostrafer rgb

* removing comment
2024-06-15 21:46:22 -07:00
Nick Brassel 0262161914 [CLI] Don't exit() when certain exceptions occur. (#23442) 2024-06-15 10:37:47 +01:00
Ryan d4654ab893 Various keyboard fixes (#23919) 2024-06-14 22:58:13 +01:00
ai03 aec7569a04 [Keyboard] Add Altair (#23878)
Co-authored-by: jack <0x6a73@protonmail.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
2024-06-14 13:26:21 -07:00
ai03 0594121b68 [Keyboard] Add Altair-X (#23879)
Co-authored-by: jack <0x6a73@protonmail.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
2024-06-14 13:26:00 -07:00
Myriam 4e8b740dd7 fix keymap for kprepublic bm60hsrgb_iso (#23733)
Co-authored-by: Duncan Sutherland <dunk2k_2000@hotmail.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2024-06-14 00:34:06 -07:00
adophoxia c92becc57e [Keyboard] Enable dip switch for Keychron Q4 (#23889) 2024-06-13 21:10:23 -07:00
Joel Challis cd565a95a0 Remove suggestion of creating issues for unsupported keyboards. (#23918) 2024-06-14 00:23:57 +01:00
Danny caf13bb9db Fix order of RGB LEDs to correct one for Iris CE (#23914) 2024-06-13 15:36:26 -07:00
Danny 4a4eda4c3c Add missing encode enable for BAMFK-1 (#23821)
Add missing encode enable
2024-06-13 09:00:42 -04:00
Ryan 942c2a8d5a Fix nonunique anchors (#23910) 2024-06-13 13:31:03 +10:00
Ryan be9dfe65dd Add API reference section for LED/RGB Matrix docs (#23902) 2024-06-13 12:55:47 +10:00
Joel Challis fa40356250 Ensure documentation pull requests build (#23908) 2024-06-13 02:59:37 +01:00
Nick Brassel 7247039742 Fixup docs. (#23906) 2024-06-13 02:55:52 +01:00
Nick Brassel e69d30a9e9 VIA keymap deprecation notice. (#23905) 2024-06-13 09:48:24 +10:00
Nick Brassel bdd10ef8e7 Remove VIA_ENABLE from default keymaps. (#23903) 2024-06-12 17:43:09 +10:00
4pplet 031ca3b40b [Keyboard] Fix settings for 4pplet/waffling60 (#23862) 2024-06-12 00:11:50 -07:00
Ryan 8041a88f5d Slight clarification of LED/RGB Matrix custom effect docs (#23897) 2024-06-12 01:50:25 +01:00
Joel Challis 8b5cdfabf5 Re-implement eeprom_write_qword as define (#23890) 2024-06-10 01:23:25 +01:00
Ryan df4538d894 Fix Iris/Irispad keymaps (#23856) 2024-06-09 13:14:48 -07:00
Alabahuy e484a3a179 [Keyboard] add jaykeeb jk60 (#23876) 2024-06-09 12:47:48 -07:00
Alex Mayer 9dc183afe4 Fix Tri-Layer Keycode Descriptions (#23888) 2024-06-09 10:57:45 -07:00
Joel Challis e7a08ef1a9 Fix broken link in PR checklist (#23877) 2024-06-07 23:25:20 +10:00
Syenasweta a.k.a. Nashrullah Ali Fauzi 950d765370 Add SyenaKeyboards Elaruus (#23870)
* add syenakeyboard elaruus

* add syenakeyboards elaruus

* add syenakeyboards elaruus

* add syenakeyboards elaruus

* add syenakeyboards/elaruus

* add syenakeyboards elaruus

* add syenakeyboards elaruus

* add syenakeyboards elaruus

* Update keyboards/syenakeyboards/elaruus/keyboard.json

Co-authored-by: jack <0x6a73@protonmail.com>

* Update keyboards/syenakeyboards/elaruus/keymaps/default/keymap.c

Co-authored-by: jack <0x6a73@protonmail.com>

* Update keyboards/syenakeyboards/elaruus/keymaps/via/keymap.c

Co-authored-by: jack <0x6a73@protonmail.com>

---------

Co-authored-by: Syenasweta <syenasweta@gmail.com>
Co-authored-by: jack <0x6a73@protonmail.com>
2024-06-06 19:17:21 -06:00
Kim Viberti 260e9a546e Fix documentation error (#23872)
Co-authored-by: Nick Brassel <nick@tzarc.org>
Co-authored-by: Ryan <fauxpark@gmail.com>
2024-06-06 12:09:44 +10:00
Nick Brassel a4da5f219f Fixup build failures. (#23869) 2024-06-05 12:20:57 +10:00
347 changed files with 4977 additions and 1523 deletions
+8 -28
View File
@@ -7,7 +7,6 @@ on:
push:
branches:
- master
- vitepress
paths:
- 'builddefs/docsgen/**'
- 'tmk_core/**'
@@ -15,6 +14,11 @@ on:
- 'platforms/**'
- 'docs/**'
- '.github/workflows/docs.yml'
pull_request:
paths:
- 'builddefs/docsgen/**'
- 'docs/**'
- '.github/workflows/docs.yml'
defaults:
run:
@@ -25,9 +29,6 @@ jobs:
runs-on: ubuntu-latest
container: ghcr.io/qmk/qmk_cli
# protect against those who develop with their fork on master
if: github.repository == 'qmk/qmk_firmware' || (github.repository == 'tzarc/qmk_firmware' && github.ref == 'refs/heads/vitepress')
steps:
- uses: actions/checkout@v4
with:
@@ -35,10 +36,10 @@ jobs:
- name: Install dependencies
run: |
apt-get update && apt-get install -y rsync doxygen curl
apt-get update && apt-get install -y rsync doxygen
# install nvm
touch $HOME/.bashrc
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
- name: Install node
run: |
@@ -46,29 +47,15 @@ jobs:
nvm install 20
nvm use 20
corepack enable
npm install -g moxygen
- name: Build docs
run: |
source $HOME/.bashrc
nvm use 20
qmk --verbose generate-docs
touch '.build/docs/.nojekyll'
- name: Set CNAME
if: github.repository == 'qmk/qmk_firmware'
run: |
# Override target CNAME
echo 'docs.qmk.fm' > .build/docs/CNAME
- name: Override CNAME
if: github.repository == 'tzarc/qmk_firmware'
run: |
# Temporarily override target CNAME during development
echo 'vitepress.qmk.fm' > .build/docs/CNAME
- name: Deploy
if: github.repository == 'qmk/qmk_firmware'
if: ${{ github.event_name == 'push' && github.repository == 'qmk/qmk_firmware' }}
uses: JamesIves/github-pages-deploy-action@v4.6.1
with:
token: ${{ secrets.GITHUB_TOKEN }}
@@ -76,10 +63,3 @@ jobs:
folder: .build/docs
git-config-name: QMK Bot
git-config-email: hello@qmk.fm
- name: Deploy
if: github.repository == 'tzarc/qmk_firmware'
uses: JamesIves/github-pages-deploy-action@v4.6.1
with:
branch: gh-pages
folder: .build/docs
+1
View File
@@ -25,6 +25,7 @@
*.la
*.stackdump
*.sym
qmk_toolchains*
# QMK-specific
api_data/v1
+2 -1
View File
@@ -40,7 +40,8 @@
"pattern": "^[0-9a-z_/\\-]+\\.json$"
},
"key_unit": {
"type": "number"
"type": "number",
"minimum": 0
},
"keyboard": {
"type": "string",
+4 -4
View File
@@ -515,8 +515,8 @@
"minimum": 0
}
},
"x": {"$ref": "qmk.definitions.v1#/key_unit"},
"y": {"$ref": "qmk.definitions.v1#/key_unit"},
"x": {"$ref": "qmk.definitions.v1#/unsigned_int"},
"y": {"$ref": "qmk.definitions.v1#/unsigned_int"},
"flags": {"$ref": "qmk.definitions.v1#/unsigned_int_8"}
}
}
@@ -601,8 +601,8 @@
"minimum": 0
}
},
"x": {"$ref": "qmk.definitions.v1#/key_unit"},
"y": {"$ref": "qmk.definitions.v1#/key_unit"},
"x": {"$ref": "qmk.definitions.v1#/unsigned_int"},
"y": {"$ref": "qmk.definitions.v1#/unsigned_int"},
"flags": {"$ref": "qmk.definitions.v1#/unsigned_int_8"}
}
}
-2
View File
@@ -2,8 +2,6 @@
"keyboard_name": "%KEYBOARD%",
"maintainer": "%USER_NAME%",
"manufacturer": "%REAL_NAME%",
"processor": "%MCU%",
"bootloader": "%BOOTLOADER%",
"diode_direction": "COL2ROW",
"matrix_pins": {
"cols": ["C2"],
+10
View File
@@ -109,6 +109,16 @@ Essentially, changes were made in the internals of how QMK interacts with USB fo
Compliance checks were run against QMK firmwares for the most popular ARM microcontrollers, as well as suspend/resume tests. As far as we can tell, a whole host of hard-to-reproduce issues are mitigated by this change.
## Deprecation Notices
In line with the [notice period](../support_deprecation_policy#how-much-advance-notice-will-be-given), deprecation notices for larger items are listed here.
### Migration of VIA keymaps to VIA team control
The QMK team has been in discussion with the VIA maintainers and all VIA-related keymaps in the `qmk_firmware` repository will transition to a `qmk_userspace`-style repository under the VIA team's control at the end of the next breaking changes period. This allows the VIA team to support many more custom keyboard configurations, as well as reduces the turnaround time for any changes to the VIA protocol they wish to make.
At the end of the breaking changes cycle ending 2024-08-25, VIA-enabled keymaps will no longer be accepted into the QMK repository. At the time of migration, any open PRs against `qmk_firmware` which include new VIA-related keymaps will be subsequently be asked to remove those keymaps and instead raise a PR against the userspace repository containing all VIA keymaps.
## Full changelist {#full-changelist}
Core:
+1
View File
@@ -4,6 +4,7 @@
"/cli_dev_configuration": "/cli_configuration",
"/dynamic_macros": "/feature_dynamic_macros",
"/feature_common_shortcuts": "/feature_advanced_keycodes",
"/flashing_bootloadhid": "/flashing",
"/getting_started_build_tools": "/newbs_getting_started",
"/getting_started_getting_help": "/support",
"/glossary": "/reference_glossary",
+3 -8
View File
@@ -64,13 +64,7 @@
"text": "Development Environments",
"items": [{ "text": "Docker Guide", "link": "/getting_started_docker" }]
},
{
"text": "Flashing",
"items": [
{ "text": "Flashing", "link": "/flashing" },
{ "text": "Flashing ATmega32A (ps2avrgb)", "link": "/flashing_bootloadhid" }
]
},
{ "text": "Flashing", "link": "/flashing" },
{
"text": "IDEs",
"items": [
@@ -212,7 +206,8 @@
"text": "Most Recent ChangeLog",
"link": "/ChangeLog/20240526"
},
{ "text": "Past Breaking Changes", "link": "/breaking_changes_history" }
{ "text": "Past Breaking Changes", "link": "/breaking_changes_history" },
{ "text": "Deprecation Policy", "link": "/support_deprecation_policy" }
]
},
+3 -1
View File
@@ -16,7 +16,9 @@ I'll say that again because it's important:
**MAKE SURE YOU SELECT THE RIGHT VERSION!**
:::
If your keyboard has been advertised to be powered by QMK but is not in the list, chances are a developer hasn't gotten to it yet or we haven't had a chance to merge it in yet. File an issue at [qmk_firmware](https://github.com/qmk/qmk_firmware/issues) requesting to support that particular keyboard, if there is no active [Pull Request](https://github.com/qmk/qmk_firmware/pulls?q=is%3Aopen+is%3Apr+label%3Akeyboard) for it. There are also QMK powered keyboards that are in their manufacturer's own GitHub accounts. Double check for that as well. <!-- FIXME(skullydazed): This feels too wordy and I'm not sure we want to encourage these kinds of issues. Also, should we prompt them to bug the manufacutrer? -->
Unfortunately if your keyboard has been advertised to be powered by QMK but is not in the list, you will **not** be able to use Configurator to customize your keyboard.
Chances are a developer hasn't gotten round to adding support or we haven't had a chance to merge it in yet. If there is no active [Pull Request](https://github.com/qmk/qmk_firmware/pulls?q=is%3Aopen+is%3Apr+label%3Akeyboard), contact the manufacturer and encourage them to add support.
## Step 2: Select Your Keyboard Layout
+3 -1
View File
@@ -105,7 +105,9 @@ enum my_keycodes {
Before opening a pull request, you can preview your changes if you have set up the development environment by running this command from the `qmk_firmware/` folder:
qmk docs
```
qmk docs
```
and navigating to `http://localhost:5173/`.
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -1,6 +1,6 @@
# Swap-Hands Action
The swap-hands action allows support for one-handed typing without requiring a separate layer. Set `SWAP_HANDS_ENABLE` in the Makefile and define a `hand_swap_config` entry in your keymap. Now whenever the `ACTION_SWAP_HANDS` command key is pressed the keyboard is mirrored. For instance, to type "Hello, World" on QWERTY you would type `^Ge^s^s^w^c W^wr^sd`
The swap-hands action allows support for one-handed typing without requiring a separate layer. Set `SWAP_HANDS_ENABLE = yes` in your keymap's `rules.mk` (creating it if needed), and define a `hand_swap_config` entry in your keymap. Now whenever the `ACTION_SWAP_HANDS` command key is pressed the keyboard is mirrored. For instance, to type "Hello, World" on QWERTY you would type `^Ge^s^s^w^c W^wr^sd`
## Configuration
+2 -2
View File
@@ -14,8 +14,8 @@ For a detailed explanation of how the layer stack works, check out [Keymap Overv
| Keycode | Alias | Description |
|----------------------|-----------|---------------------------------------------------------------------------------------------------------|
| `QK_TRI_LAYER_LOWER` | `TL_LOWR` | Momentarily enables the "lower" layer. Enables the "adjust" layer if the "upper" layer is also enabled" |
| `QK_TRI_LAYER_UPPER` | `TL_UPPR` | Momentarily enables the "upper" layer. Enables the "adjust" layer if the "lower" layer is also enabled" |
| `QK_TRI_LAYER_LOWER` | `TL_LOWR` | Momentarily enables the "lower" layer. Enables the "adjust" layer if the "upper" layer is also enabled. |
| `QK_TRI_LAYER_UPPER` | `TL_UPPR` | Momentarily enables the "upper" layer. Enables the "adjust" layer if the "lower" layer is also enabled. |
## Configuration
-74
View File
@@ -1,74 +0,0 @@
# BootloadHID Flashing Instructions and Bootloader Information
ps2avr(GB) boards use an ATmega32A microcontroller and a different bootloader. It is not flashable using the regular QMK methods.
General flashing sequence:
1. Enter the bootloader using any of the following methods:
* Tap the `QK_BOOT` keycode (may not work on all devices)
* Hold the salt key while plugging the keyboard in (usually documented within keyboard readme)
2. Wait for the OS to detect the device
3. Flash a .hex file
4. Reset the device into application mode (may be done automatically)
## bootloadHID Flashing Target
::: tip
Using the QMK installation script, detailed [here](newbs_getting_started), the required bootloadHID tools should be automatically installed.
:::
To flash via the command line, use the target `:bootloadhid` by executing the following command:
```
make <keyboard>:<keymap>:bootloadhid
```
## GUI Flashing
### Windows
1. Download [HIDBootFlash](http://vusb.wikidot.com/project:hidbootflash).
2. Place your keyboard into reset.
3. Ensure the configured VendorID is `16c0` and ProductID is `05df`
4. Press the `Find Device` button and ensure that your keyboard is found.
5. Press the `Open .hex File` button and locate the `.hex` file you created.
6. Press the `Flash Device` button and wait for the process to complete.
## Command Line Flashing
1. Place your keyboard into reset.
2. Flash the board by typing `bootloadHID -r` followed by the path to your `.hex` file.
### Windows Manual Installation
For MSYS2:
1. Download the BootloadHID firmware package from https://www.obdev.at/downloads/vusb/bootloadHID.2012-12-08.tar.gz.
2. Extract contents using a compatible tool, for example 7-Zip.
3. Add to the MSYS path by copying `commandline/bootloadHID.exe` from the extracted archive to your MSYS2 installation, typically `C:\msys64\usr\bin`.
For native Windows flashing, the `bootloadHID.exe` can be used outside of the MSYS2 environment.
### Linux Manual Installation
1. Install libusb development dependency:
```
# This depends on OS - for Debian the following works
sudo apt-get install libusb-dev
```
2. Download the BootloadHID firmware package:
```
wget https://www.obdev.at/downloads/vusb/bootloadHID.2012-12-08.tar.gz -O - | tar -xz -C /tmp
```
3. Build the bootloadHID executable:
```
cd /tmp/bootloadHID.2012-12-08/commandline/
make
sudo cp bootloadHID /usr/local/bin
```
### MacOS Manual Installation
1. Install Homebrew by typing the following:
```
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
```
2. Install the following packages:
```
brew install --HEAD https://raw.githubusercontent.com/robertgzr/homebrew-tap/master/bootloadhid.rb
```
+1 -1
View File
@@ -88,7 +88,7 @@ https://github.com/qmk/qmk_firmware/pulls?q=is%3Apr+is%3Aclosed+label%3Akeyboard
- RGB Matrix Configuration
- Run `qmk format-json` on this file before submitting your PR. Be sure to append the `-i` flag to directly modify the file, or paste the outputted code into the file.
- `readme.md`
- must follow the [template](https://github.com/qmk/qmk_firmware/blob/master/data/templates/keyboard/readme)
- must follow the [template](https://github.com/qmk/qmk_firmware/blob/master/data/templates/keyboard/readme.md)
- flash command is present, and has `:flash` at end
- valid hardware availability link (unless handwired) -- private groupbuys are okay, but one-off prototypes will be questioned. If open-source, a link to files should be provided.
- clear instructions on how to reset the board into bootloader mode
+1
View File
@@ -0,0 +1 @@
docs.qmk.fm
@@ -15,7 +15,8 @@
"console": false,
"extrakey": true,
"key_lock": true,
"mousekey": false,
"mousekey": true,
"encoder": true,
"nkro": true,
"rgblight": true
},
@@ -15,7 +15,8 @@
"console": false,
"extrakey": true,
"key_lock": true,
"mousekey": false,
"mousekey": true,
"encoder": true,
"nkro": true,
"rgblight": true
},
@@ -16,6 +16,7 @@
"extrakey": true,
"key_lock": true,
"mousekey": true,
"encoder": true,
"nkro": true,
"rgblight": true
},
+12
View File
@@ -0,0 +1,12 @@
/* Copyright 2024 ai03 Design Studio */
/* SPDX-License-Identifier: GPL-2.0-or-later */
#pragma once
/* VBUS-routed pin for upstream detection */
#define USB_VBUS_PIN GP0
/* RP2040- and hardware-specific config */
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 500U
#define PICO_XOSC_STARTUP_DELAY_MULTIPLIER 64
+118
View File
@@ -0,0 +1,118 @@
{
"manufacturer": "ai03 Design Studio",
"keyboard_name": "Altair",
"maintainer": "ai03_2725",
"bootloader": "rp2040",
"build": {
"debounce_type": "asym_eager_defer_pk"
},
"diode_direction": "COL2ROW",
"dynamic_keymap": {
"layer_count": 6
},
"features": {
"bootmagic": true,
"command": false,
"console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
},
"matrix_pins": {
"cols": ["GP20", "GP19", "GP18", "GP17", "GP16", "GP21", "GP9"],
"rows": ["GP11", "GP26", "GP27", "GP28", "GP10"]
},
"processor": "RP2040",
"split": {
"bootmagic": {
"matrix": [5, 0]
},
"enabled": true,
"handedness": {
"pin": "GP8"
},
"matrix_pins": {
"right": {
"cols": ["GP15", "GP21", "GP9", "GP13", "GP10", "GP11", "GP12"],
"rows": ["GP5", "GP16", "GP20", "GP28", "GP14"]
}
},
"soft_serial_pin": "GP29"
},
"url": "https://ai03.com/",
"usb": {
"device_version": "0.0.1",
"pid": "0x0022",
"vid": "0xA103"
},
"layouts": {
"LAYOUT": {
"layout": [
{"matrix": [0, 0], "x": 0, "y": 0.38},
{"matrix": [0, 1], "x": 1, "y": 0.38},
{"matrix": [0, 2], "x": 2, "y": 0.13},
{"matrix": [0, 3], "x": 3, "y": 0},
{"matrix": [0, 4], "x": 4, "y": 0.13},
{"matrix": [0, 5], "x": 5, "y": 0.25},
{"matrix": [0, 6], "x": 6, "y": 0.5},
{"matrix": [5, 0], "x": 7.75, "y": 0.5},
{"matrix": [5, 1], "x": 8.75, "y": 0.25},
{"matrix": [5, 2], "x": 9.75, "y": 0.13},
{"matrix": [5, 3], "x": 10.75, "y": 0},
{"matrix": [5, 4], "x": 11.75, "y": 0.13},
{"matrix": [5, 5], "x": 12.75, "y": 0.38},
{"matrix": [5, 6], "x": 13.75, "y": 0.38},
{"matrix": [1, 0], "x": 0, "y": 1.38},
{"matrix": [1, 1], "x": 1, "y": 1.38},
{"matrix": [1, 2], "x": 2, "y": 1.13},
{"matrix": [1, 3], "x": 3, "y": 1},
{"matrix": [1, 4], "x": 4, "y": 1.13},
{"matrix": [1, 5], "x": 5, "y": 1.25},
{"matrix": [1, 6], "x": 6, "y": 1.5},
{"matrix": [6, 0], "x": 7.75, "y": 1.5},
{"matrix": [6, 1], "x": 8.75, "y": 1.25},
{"matrix": [6, 2], "x": 9.75, "y": 1.13},
{"matrix": [6, 3], "x": 10.75, "y": 1},
{"matrix": [6, 4], "x": 11.75, "y": 1.13},
{"matrix": [6, 5], "x": 12.75, "y": 1.38},
{"matrix": [6, 6], "x": 13.75, "y": 1.38},
{"matrix": [2, 0], "x": 0, "y": 2.38},
{"matrix": [2, 1], "x": 1, "y": 2.38},
{"matrix": [2, 2], "x": 2, "y": 2.13},
{"matrix": [2, 3], "x": 3, "y": 2},
{"matrix": [2, 4], "x": 4, "y": 2.13},
{"matrix": [2, 5], "x": 5, "y": 2.25},
{"matrix": [2, 6], "x": 6, "y": 2.5},
{"matrix": [7, 0], "x": 7.75, "y": 2.5},
{"matrix": [7, 1], "x": 8.75, "y": 2.25},
{"matrix": [7, 2], "x": 9.75, "y": 2.13},
{"matrix": [7, 3], "x": 10.75, "y": 2},
{"matrix": [7, 4], "x": 11.75, "y": 2.13},
{"matrix": [7, 5], "x": 12.75, "y": 2.38},
{"matrix": [7, 6], "x": 13.75, "y": 2.38},
{"matrix": [3, 0], "x": 0, "y": 3.38},
{"matrix": [3, 1], "x": 1, "y": 3.38},
{"matrix": [3, 2], "x": 2, "y": 3.13},
{"matrix": [3, 3], "x": 3, "y": 3},
{"matrix": [3, 4], "x": 4, "y": 3.13},
{"matrix": [3, 5], "x": 5, "y": 3.25},
{"matrix": [3, 6], "x": 6, "y": 3.5},
{"matrix": [8, 0], "x": 7.75, "y": 3.5},
{"matrix": [8, 1], "x": 8.75, "y": 3.25},
{"matrix": [8, 2], "x": 9.75, "y": 3.13},
{"matrix": [8, 3], "x": 10.75, "y": 3},
{"matrix": [8, 4], "x": 11.75, "y": 3.13},
{"matrix": [8, 5], "x": 12.75, "y": 3.38},
{"matrix": [8, 6], "x": 13.75, "y": 3.38},
{"matrix": [4, 3], "x": 2.71, "y": 4.13},
{"matrix": [4, 4], "x": 3.73, "y": 4.16},
{"matrix": [4, 5], "x": 4.74, "y": 4.36},
{"matrix": [4, 6], "x": 5.75, "y": 4.72},
{"matrix": [9, 0], "x": 8, "y": 4.72},
{"matrix": [9, 1], "x": 9.02, "y": 4.36},
{"matrix": [9, 2], "x": 10.03, "y": 4.18},
{"matrix": [9, 3], "x": 11.05, "y": 4.13}
]
}
}
}
@@ -0,0 +1,24 @@
/* Copyright 2024 ai03 Design Studio */
/* SPDX-License-Identifier: GPL-2.0-or-later */
#include QMK_KEYBOARD_H
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT(
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_MINS, KC_EQL, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
KC_CAPS, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_LBRC, KC_RBRC, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_LPRN, KC_RPRN, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_GRV, KC_PSCR, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT,
KC_LGUI, KC_LALT, MO(1), KC_SPC, KC_SPC, MO(1), KC_TAB, KC_DEL
),
[1] = LAYOUT(
_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______,
_______, _______, _______, KC_PGUP, _______, _______, _______, _______, _______, _______, KC_UP, _______, _______, _______,
_______, _______, KC_HOME, KC_PGDN, KC_END, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______
)
};
@@ -0,0 +1,24 @@
/* Copyright 2024 ai03 Design Studio */
/* SPDX-License-Identifier: GPL-2.0-or-later */
#include QMK_KEYBOARD_H
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT(
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_MINS, KC_EQL, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
KC_CAPS, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_LBRC, KC_RBRC, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_LPRN, KC_RPRN, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_GRV, KC_PSCR, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT,
KC_LGUI, KC_LALT, MO(1), KC_SPC, KC_SPC, MO(1), KC_TAB, KC_DEL
),
[1] = LAYOUT(
_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______,
_______, _______, _______, KC_PGUP, _______, _______, _______, _______, _______, _______, KC_UP, _______, _______, _______,
_______, _______, KC_HOME, KC_PGDN, KC_END, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______
)
};
@@ -0,0 +1 @@
VIA_ENABLE = yes
+19
View File
@@ -0,0 +1,19 @@
# Altair
![altair](https://i.imgur.com/O9UXaCO.png)
ai03's third-generation ergonomic keyboard, 5-row variant
* Keyboard Maintainer: [ai03](https://github.com/ai03-2725)
* Hardware Supported: Altair keyboard PCB
* Hardware Availability: Group buy
Make example for this keyboard (after setting up your build environment):
make ai03/altair:default
Flashing example for this keyboard:
make ai03/altair:default:flash
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+1
View File
@@ -0,0 +1 @@
SERIAL_DRIVER = vendor
+12
View File
@@ -0,0 +1,12 @@
/* Copyright 2024 ai03 Design Studio */
/* SPDX-License-Identifier: GPL-2.0-or-later */
#pragma once
/* VBUS-routed pin for upstream detection */
#define USB_VBUS_PIN GP0
/* RP2040- and hardware-specific config */
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 500U
#define PICO_XOSC_STARTUP_DELAY_MULTIPLIER 64
+104
View File
@@ -0,0 +1,104 @@
{
"manufacturer": "ai03 Design Studio",
"keyboard_name": "Altair-X",
"maintainer": "ai03_2725",
"bootloader": "rp2040",
"build": {
"debounce_type": "asym_eager_defer_pk"
},
"diode_direction": "COL2ROW",
"dynamic_keymap": {
"layer_count": 6
},
"features": {
"bootmagic": true,
"command": false,
"console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
},
"matrix_pins": {
"cols": ["GP20", "GP19", "GP18", "GP17", "GP16", "GP21", "GP9"],
"rows": ["GP26", "GP27", "GP28", "GP10"]
},
"processor": "RP2040",
"split": {
"bootmagic": {
"matrix": [4, 0]
},
"enabled": true,
"handedness": {
"pin": "GP8"
},
"matrix_pins": {
"right": {
"cols": ["GP15", "GP21", "GP9", "GP13", "GP10", "GP11", "GP12"],
"rows": ["GP16", "GP20", "GP28", "GP14"]
}
},
"soft_serial_pin": "GP29"
},
"url": "https://ai03.com/",
"usb": {
"device_version": "0.0.1",
"pid": "0x0023",
"vid": "0xA103"
},
"layouts": {
"LAYOUT": {
"layout": [
{"matrix": [0, 0], "x": 0, "y": 0.38},
{"matrix": [0, 1], "x": 1, "y": 0.38},
{"matrix": [0, 2], "x": 2, "y": 0.13},
{"matrix": [0, 3], "x": 3, "y": 0},
{"matrix": [0, 4], "x": 4, "y": 0.13},
{"matrix": [0, 5], "x": 5, "y": 0.25},
{"matrix": [0, 6], "x": 6, "y": 0.5},
{"matrix": [4, 0], "x": 7.75, "y": 0.5},
{"matrix": [4, 1], "x": 8.75, "y": 0.25},
{"matrix": [4, 2], "x": 9.75, "y": 0.13},
{"matrix": [4, 3], "x": 10.75, "y": 0},
{"matrix": [4, 4], "x": 11.75, "y": 0.13},
{"matrix": [4, 5], "x": 12.75, "y": 0.38},
{"matrix": [4, 6], "x": 13.75, "y": 0.38},
{"matrix": [1, 0], "x": 0, "y": 1.38},
{"matrix": [1, 1], "x": 1, "y": 1.38},
{"matrix": [1, 2], "x": 2, "y": 1.13},
{"matrix": [1, 3], "x": 3, "y": 1},
{"matrix": [1, 4], "x": 4, "y": 1.13},
{"matrix": [1, 5], "x": 5, "y": 1.25},
{"matrix": [1, 6], "x": 6, "y": 1.5},
{"matrix": [5, 0], "x": 7.75, "y": 1.5},
{"matrix": [5, 1], "x": 8.75, "y": 1.25},
{"matrix": [5, 2], "x": 9.75, "y": 1.13},
{"matrix": [5, 3], "x": 10.75, "y": 1},
{"matrix": [5, 4], "x": 11.75, "y": 1.13},
{"matrix": [5, 5], "x": 12.75, "y": 1.38},
{"matrix": [5, 6], "x": 13.75, "y": 1.38},
{"matrix": [2, 0], "x": 0, "y": 2.38},
{"matrix": [2, 1], "x": 1, "y": 2.38},
{"matrix": [2, 2], "x": 2, "y": 2.13},
{"matrix": [2, 3], "x": 3, "y": 2},
{"matrix": [2, 4], "x": 4, "y": 2.13},
{"matrix": [2, 5], "x": 5, "y": 2.25},
{"matrix": [2, 6], "x": 6, "y": 2.5},
{"matrix": [6, 0], "x": 7.75, "y": 2.5},
{"matrix": [6, 1], "x": 8.75, "y": 2.25},
{"matrix": [6, 2], "x": 9.75, "y": 2.13},
{"matrix": [6, 3], "x": 10.75, "y": 2},
{"matrix": [6, 4], "x": 11.75, "y": 2.13},
{"matrix": [6, 5], "x": 12.75, "y": 2.38},
{"matrix": [6, 6], "x": 13.75, "y": 2.38},
{"matrix": [3, 3], "x": 2.71, "y": 3.13},
{"matrix": [3, 4], "x": 3.73, "y": 3.16},
{"matrix": [3, 5], "x": 4.74, "y": 3.36},
{"matrix": [3, 6], "x": 5.75, "y": 3.72},
{"matrix": [7, 0], "x": 8, "y": 3.72},
{"matrix": [7, 1], "x": 9.02, "y": 3.36},
{"matrix": [7, 2], "x": 10.03, "y": 3.18},
{"matrix": [7, 3], "x": 11.05, "y": 3.13}
]
}
}
}

Some files were not shown because too many files have changed in this diff Show More