* Somei70 addition
* Changes made, added VIA keymap, cleaned formatting
* keymap via
* Create rules.mk
* Add files via upload
* Delete keyboards/somei70/keymaps/via directory
* Fixed RGB and matrix
* Layout corrections and LED positions
* removal of rules.mk
* Moved OLED Settings to somei70.c, formatted C removed TABs, removed _LAYERC
* Forgot to include license header
* Further changes as per suggestions, replaced _user for _kb within somei70.c
* Updated keymap 'changes in Nov24'
* Requested changes
* Add Reverie to QMK
* Add backlight to reverie
* Update reverie readme and copyright notices
* Use format json to update keyboard.json formatting
* Update to have solderable and hotswap variants split
* Update copyright noticeS
* JSON formatting updates
* inherit config.h
* fix broken keymap
* Update reverie hs keyboard.json to be accurate
* Update keyboards/cannonkeys/reverie/hotswap/keyboard.json
Co-authored-by: jack <jack@pngu.org>
* Remove VIA keymaps
* Update keymap
---------
Co-authored-by: jack <jack@pngu.org>
* Added VT-40 keyboard
* Remove commented out code. Oops
Co-authored-by: jack <jack@pngu.org>
* Change name of planck_layers to layers.
Co-authored-by: jack <jack@pngu.org>
* Update keyboards/vt40/keymaps/default/keymap.c
Co-authored-by: jack <jack@pngu.org>
* Removed unused features that I stole from the contra config
* Removed unused features that I stole from the contra config
* fixed lower/raise keys
* make adjust layer accessible
* Added adjust key for real this time
* Update keyboards/vt40/keyboard.json
Co-authored-by: Duncan Sutherland <dunk2k_2000@hotmail.com>
---------
Co-authored-by: jack <jack@pngu.org>
Co-authored-by: Duncan Sutherland <dunk2k_2000@hotmail.com>
* Update keymap.c
enhancement - power down indicator LEDs when host sleeps
* Update keyboards/lostdotfish/rp2040_orbweaver/keymaps/default/keymap.c
Co-authored-by: jack <jack@pngu.org>
* Update keyboards/lostdotfish/rp2040_orbweaver/keymaps/default/keymap.c
Co-authored-by: jack <jack@pngu.org>
---------
Co-authored-by: jack <jack@pngu.org>
* This is a configuration of QMK intended to be used with the [ctrl-M controller](https://github.com/nuess0r/ctrl-M).
* Move USB_MAX_POWER_CONSUMPTION to data driven due to upstream change
* Clean up according to PR checklist
Check the keymaps/nuess0r how you can make better use of your Model M
including Windows, multimedia keys etc.
* Move CAPS_HOLD feature from default build to custom keymap
* More data driven configuration
Move layout definition from ctrl_m.h to info.json
Move has_ghost to info.json -> this makes the config.h file obsolete
* Implement changes suggested by review
* Removing user keymap (nuess0r) to follow current guidelines
The nuess0r keymap which is shipped with the ctrl-M controller is kept here:
https://github.com/nuess0r/qmk_firmware/tree/nuess0r_keymap
* Changed image hosting location to Github
requested in review by drashna
* Changed image hosting location to imgur
* Settings removed from info.json that are disabled by default.
* Change URL as suggested by @dunk2k
Not pointing to the QMK firmware but to the replacement controller electronics
project.
* Migrate build target markers to keyboard.json
* Adding tindie link and implement review suggestions
* Removing via keymap to follow current guidelines
Will be moved to the https://github.com/the-via/qmk_userspace_via repo.
* Add LAYOUT_all to support ANSI and ISO keyboards with the same firmware
Add a LAYOUT_all similar to other keyboards that defines all available keys.
Change the default keymap to use the _all layout so both ANSI and ISO Model M
variants work out of the box.
* Remove unnecessary enum from default keymap
Co-authored-by: Less/Rikki <86894501+lesshonor@users.noreply.github.com>
---------
Co-authored-by: Less/Rikki <86894501+lesshonor@users.noreply.github.com>
* adding keymaps for krado industries
* Modified default keymap.c files to be the same as via.
* Changing vendor ID for Krado Industries
* Suggested changes made
Making changes suggested by zvecr.
Removed dynamic_layer indicator, updated copyright year, deleted unused layers in keymaps.
Co-authored-by: Joel Challis <git@zvecr.com>
* rgbpin for ws2812 changed in info.json
* Added encoder mapping rule file for default keymaps; added Fn layer shortcuts to Promenade layouts
* Added rules.mk with encoder mapping for encoder boards at keymaps level.
* Deleted extra key in LAYOUT
* Update keyboards/kradoindustries/kousa/rules.mk
Move WS2812 Driver from rules.mk to info.json
Co-authored-by: jack <jack@pngu.org>
* Update keyboards/kradoindustries/kousa/info.json
Move WS2812 Driver from rules.mk to info.json
Co-authored-by: jack <jack@pngu.org>
* Update keyboards/kradoindustries/kousa/keymaps/default/keymap.c
Move WS2812 Driver from rules.mk to info.json
Co-authored-by: jack <jack@pngu.org>
* Reverting settings.json
* Encoder map code change [2]>[NUM_DIRECTIONS]
* Adding Promenade RP24S
Adding Promenade RP24S keyboard.json, default keymap, and readme
* Adding layer access to Promenade RP24S
Adding layer access to layers 1 and 2
---------
Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: jack <jack@pngu.org>
* Add Cerberus to QMK
* Update readme to add hotswap callouts
* Update readme formatting
* Use format json to update keyboard.json formatting
* Split Cerberus HS and Solderable into separate folders
* Update JSON formatting
* make solderable keymaps a bit more useful
* Backlight fix on solderable
* Update keyboards/cannonkeys/cerberus/hotswap/keyboard.json
Co-authored-by: jack <jack@pngu.org>
* Remove cerberus VIA keymaps
* Apply suggestions from code review
Change some whitespace
Co-authored-by: Drashna Jaelre <drashna@live.com>
* Add RGB control keycodes to cerberus keymap
* Add backlight controls to default keymap on solderable version
* Update keyboards/cannonkeys/cerberus/readme.md
---------
Co-authored-by: jack <jack@pngu.org>
Co-authored-by: Drashna Jaelre <drashna@live.com>
* Add Binepad BNK8 keyboard
* Moved keymap.c to keymap.json
* Fix product page URL
* RGB_ -> RM_ keycodes after this round of breaking changes
Co-authored-by: Ryan <fauxpark@gmail.com>
---------
Co-authored-by: Ryan <fauxpark@gmail.com>
Corrected a typo in the phrase "iOS device need lessthan 100" to "iOS devices need less than 100."
This was to improve clarity and professionalism of the doc.
* [Feature] Add keycode PDF(layer) to set the default layer in EEPROM (#21881)
* Apply suggestions from code review
Co-authored-by: Nick Brassel <nick@tzarc.org>
---------
Co-authored-by: Nebuleon <2391500+Nebuleon@users.noreply.github.com>
Co-authored-by: Nick Brassel <nick@tzarc.org>
Co-authored-by: フィルターペーパー <76888457+filterpaper@users.noreply.github.com>
Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
* added support for shorty KB
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
* Expose rgb_matrix_update_pwm_buffers to be available in keymaps
Exposing this API enables the examples in the keyboard shutdown/reboot
documentation to compile instead of calling `rgb_matrix_driver.flush`
directly.
* Remove extraneous rgb_matrix_update_pwm_buffers prototype declarations
Now that `rgb_matrix_update_pwm_buffers` is public, there isn't the need
for local prototype declarations.
* Added a default firmware and layout for the WindStudio Wind X R1
keyboard.
* Wind X R1: cleaned-up the folders to make clear that this firmware is
for the release 1 of this keyboard.
* Added rules.mk to the default layout
* Renamed the folder R1 into r1.
* Added readme.md files for the keyboard and default layout.
* Added a license header to keymap.c
* Update keyboards/windstudio/wind_x/r1/keyboard.json
Co-authored-by: jack <jack@pngu.org>
* Update keyboards/windstudio/wind_x/r1/keyboard.json
Co-authored-by: jack <jack@pngu.org>
* Update keyboards/windstudio/wind_x/r1/keymaps/default/keymap.c
Co-authored-by: jack <jack@pngu.org>
* Update keyboards/windstudio/wind_x/r1/readme.md
Co-authored-by: jack <jack@pngu.org>
* Added a proper link to the image (logo of windstudio)
* Wind X R1
- Corrected the default keymap with the QK_GESC key instead of the
KC_ESC.
- Removed the unnecessary rules.mk in the default layout
* Wind X R1:
applied `qmk format-json -i` on keyboard.json to conform with the
project formatt standards.
* Added a picture of the keyboard.
* Added a caption to the image.
---------
Co-authored-by: jack <jack@pngu.org>
* Added Teton_78 qmk keyboard files
* Fixed a syntax issue
* Waffles suggested changes
* Read me updated
Used the Alpine65 reame to model off.
* Update keyboards/mountainmechdesigns/teton_78/keymaps/default/keymap.c
Co-authored-by: jack <jack@pngu.org>
* Accidental File
* Updated readme with missing info
* Update readme.md
* Update keyboards/mountainmechdesigns/teton_78/readme.md
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update keyboards/mountainmechdesigns/teton_78/readme.md
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update keyboards/mountainmechdesigns/teton_78/readme.md
Co-authored-by: Joel Challis <git@zvecr.com>
---------
Co-authored-by: jack <jack@pngu.org>
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Joel Challis <git@zvecr.com>
* usb_device_state: add idle_rate, led and protocol
Previously all usb drivers and platform implementations (expect for our
oddball atsam) tracked the same two global variables:
- keyboard_protocol: to indicate if we are in report or boot protocol
- keyboard_idle: for the idle_rate of the keyboard endpoint
And a local variable that was exposed trough some indirection:
- keyboard_led_state: for the currently set indicator leds (caps lock etc.)
These have all been moved into the usb_device_state struct wich is
accessible by getters and setters.
This reduces code duplication and centralizes the state management
across platforms and drivers.
Signed-off-by: Stefan Kerkmann <karlk90@pm.me>
* usb_device_state: reset protocol on reset
The usb hid specification section 7.2.6 states:
When initialized, all devices default to report protocol. However the
host should not make any assumptions about the device’s state and should
set the desired protocol whenever initializing a device.
Thus on reset we should always do exactly that.
Signed-off-by: Stefan Kerkmann <karlk90@pm.me>
* keyboards: fix oversize warnings
Signed-off-by: Stefan Kerkmann <karlk90@pm.me>
---------
Signed-off-by: Stefan Kerkmann <karlk90@pm.me>
quantum: util: add bit and bitmask helpers
These helpers are handy and can prevent off-by-one errors when working
with registers and general low level bit manipulation tasks. The macros
themself are inspired by the bits.h macros from the linux kernel source
code.
Signed-off-by: Stefan Kerkmann <karlk90@pm.me>
Co-authored-by: Pascal Getreuer <50221757+getreuer@users.noreply.github.com>
* first compiled, flashed, and tested version of jris65
* adding readmes for mykeyclub and jris65
* removed commented out code and unneeded files
* typo in build instructions
* renamed info.json to keyboard.json as per new standard
* formatted with qmk format-json
* fixed layout offset problem
* moved some settings from c/h files to json
* moved matrix from .h file to .json
* cleaned up non-json options
* moved settings from rules.mk to keyboard.json
* fix for via after removing .h file
* converted keymap.c to keymap.json
* keymap.c has been replaced by keymap.json
* FN+Backspace loads bootload
* added custom keymap for Sean
* config.h setting is only needed by via
* formatted json
* convert via keymap from .c .h .mk to keymap.json
* moved keyboard configuration to hotswap dir; note in readme that only hotswap has been tested
* Update keyboards/mykeyclub/jris65/keymaps/default/keymap.json
Co-authored-by: jack <jack@pngu.org>
* typo
Co-authored-by: jack <jack@pngu.org>
* blank layers do not need to be specified
Co-authored-by: jack <jack@pngu.org>
* added other valid layouts
Co-authored-by: Duncan Sutherland <dunk2k_2000@hotmail.com>
* added other valid layouts
Co-authored-by: Duncan Sutherland <dunk2k_2000@hotmail.com>
* added other valid layouts
Co-authored-by: Duncan Sutherland <dunk2k_2000@hotmail.com>
* added other valid layouts
Co-authored-by: Duncan Sutherland <dunk2k_2000@hotmail.com>
* removed extra newline
Co-authored-by: Duncan Sutherland <dunk2k_2000@hotmail.com>
* cleaned up wording in readme
Co-authored-by: Duncan Sutherland <dunk2k_2000@hotmail.com>
* QMK no longer supports user keymaps
* remove settings that are already the default (false settings)
Co-authored-by: jack <jack@pngu.org>
* add image
Co-authored-by: Duncan Sutherland <dunk2k_2000@hotmail.com>
* add missing commas (formatting)
Co-authored-by: Duncan Sutherland <dunk2k_2000@hotmail.com>
* add missing commas (formatting)
Co-authored-by: Duncan Sutherland <dunk2k_2000@hotmail.com>
* add missing commas (formatting)
Co-authored-by: Duncan Sutherland <dunk2k_2000@hotmail.com>
* re-added second layer with QK_BOOT for backspace
* make the hotswap the default keyboard
* added keyboard director prefix to DEFAULT_FOLDER
* ran qmk format-json on keyboard.json
* DEFAULT_FOLDER option is going away so don't use it
* removed via keymap as they now reside in qmk_userspace_via
---------
Co-authored-by: jack <jack@pngu.org>
Co-authored-by: Duncan Sutherland <dunk2k_2000@hotmail.com>
* Added a cleaned-up set of files for ThumbsUp! v9.
* Renamed the keymap for v9 as default
* Update keyboards/thumbsup/keymaps/default/keymap.c
As per PR review suggestions.
Co-authored-by: jack <0x6a73@protonmail.com>
* Update keyboards/thumbsup/keymaps/default/keymap.c
As per PR review suggestions.
Co-authored-by: jack <0x6a73@protonmail.com>
* Update keyboards/thumbsup/keymaps/default/keymap.c
As per PR review suggestions.
Co-authored-by: jack <0x6a73@protonmail.com>
* Update keyboards/thumbsup/keymaps/default/keymap.c
As per PR review suggestions.
Co-authored-by: jack <0x6a73@protonmail.com>
* Update keyboards/thumbsup/keymaps/default/keymap.c
As per PR review suggestions.
Co-authored-by: jack <0x6a73@protonmail.com>
* Update keyboards/thumbsup/rev9_promicro_4x12/info.json
As per PR review suggestions.
Co-authored-by: jack <0x6a73@protonmail.com>
* Update keyboards/thumbsup/rev9_promicro_4x12/readme.md
As per PR review suggestions.
Co-authored-by: jack <0x6a73@protonmail.com>
* Update keyboards/thumbsup/rev9_promicro_4x12/readme.md
As per PR review suggestions.
Co-authored-by: jack <0x6a73@protonmail.com>
* Update keyboards/thumbsup/rev9_promicro_4x12/rules.mk
As per PR review suggestions.
Co-authored-by: jack <0x6a73@protonmail.com>
* Update keyboards/thumbsup/rev9_promicro_4x12/info.json
As per PR review suggestions.
Co-authored-by: jack <0x6a73@protonmail.com>
* Apply suggestions from code review
Co-authored-by: jack <0x6a73@protonmail.com>
* Delete keyboards/thumbsup/keymaps/default/readme.md as per review recommendation.
* v9: Fixed the layout name in keymap.c file.
* v9: PR recommendatios applied - rules.mk file removed, info.json renamed to keyboard.json.
* v9: PR recommendatios applied - rules.mk file removed, info.json renamed to keyboard.json.
* v9: Fixed the copyright header modified by mistake.
* v9: Fixed the tri-layer switch as per the review recommendation.
* v9: Fixed the copyright header modified by mistake.
---------
Co-authored-by: jack <0x6a73@protonmail.com>
* Default OS_DETECTION_DEBOUNCE bumped from 200ms to 250ms
* Add OS_DETECTION_SINGLE_REPORT to prevent undesired multiple reports
* Prevents random stability issues on ARM MacBooks after switching via KVM
* Works for every device I could test, including ARM MacBooks
* Disabled by default to keep current behavior
* Add Troubleshooting section on documentation
* Tweak reset logic to prevent a freeze with some KVMs
The USB stack on ARM MacBooks is more similar to that of iOS and,
for some reason, it seems to like sending packets that influence
the OS detection and results in a second OS_MACOS report being sent
at a random period of time after plugging the keyboard back. This
does not always happen and the consequences of this vary based on
what the user is doing in the callback, but since this is not
obvious and it's hard to debug, I've decided to add a flag for
those affected by such issue. The stability issue I had in mine was
a combination of factors and I found the actual cause being my own
bad math when changing the default layer, but this change alone is
also confirmed to fix it. Lastly, soem KVMs seem to leave the USB
controlled in a suspended state when cold-booting Windows, meaning
the keyboard would hang and the reset logic would not work. This
tunes it so that it can get out of such state. Also retested for
compatibility with my old KVM to ensure the logic works for both.
* Allow for `get_hardware_id()` to be used for serial number.
* Length checks.
* Explain length.
* Cleanup.
* Preprocessor magic.
* Use the force, Batman.
* Swap logic; if SERIAL_NUMBER is defined use that, otherwise derive it.
* Cleanup.
* Cleanup.
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: jack <jack@pngu.org>
Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: zvecr <git@zvecr.com>
builddefs: common_rules: overhaul debug information generation
Debug information is always generated while compiling a binary, but
debugging is not the main use-case for the majority of users. Thus the
new default is to explicitly require them with `DEBUG_ENABLE=yes`. The
same is true for linker map files which are gated by the same flag.
As we target the gcc compiler and debug with the gdb debugger we can
specify the ggdb3 flag in the most verbose to get macro expansion.
Signed-off-by: Stefan Kerkmann <karlk90@pm.me>
# QMK Breaking Changes - 2024 November 24 Changelog
## Notable Features
November 2024 brings a relatively lightweight QMK release. As with previous cycles, almost all PRs were related to cleanup or re-organization of aspects of QMK.
One notable item is the removal of `arm_atsam` -- this affects users with `massdrop/ctrl` or `massdrop/alt` keyboards. These have no current replacement, but support for an alternative to the `arm_atsam` backend is nearing completion. Unfortunately the alternative backend didn't make this quarter's list of merges, so there's a temporary removal of these boards. Users who need to build for these targets should stay on the `0.26.x` version of QMK until these boards have been restored.
## Changes Requiring User Action
### Updated Keyboard Codebases
One note with updated keyboard names -- historical keyboard names are still considered valid when using [External Userspace](../newbs_external_userspace) for builds. If you're already using External Userspace, you do not need to move your keymap inside your repository.
| Old Keyboard Name | New Keyboard Name |
|-------------------|-------------------------|
| saevus/cor | concreteflowers/cor |
| saevus/cor_tkl | concreteflowers/cor_tkl |
## 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.
RGB keycodes have been reworked to allow for both rgblight and rgb_matrix to coexist for the handful of boards in the repo with both enabled. Previously, `RGB_xxx` style keycodes were available, but now for rgblight we have `UG_xxx` (underglow), and `RM_xxx` for rgb_matrix. Default keymaps have been updated to reflect whichever system the respective board enables.
Longer-term, `RGB_xxx` style keycodes will be removed, but for now they act as if they're `UG_xxx`, and `UG_xxx` keycodes act upon both rgblight and rgb_matrix simultaneously. Put simply, the existing `RGB_xxx` keycodes act as they always have, giving users time to transition across to the new keycodes instead.
### ADNS9800 and PMW33xx sensor firmware ROM removal ([#24428](https://github.com/qmk/qmk_firmware/pull/24428))
Following on from the last Breaking Changes cycle, Binary blobs for optical sensors have been removed from the QMK codebase. Hooks allowing users to supply their own have been put in place; users wishing to source firmware blobs and integrate them into their keymap may do so. Doing so renders their firmware un-distributable due to licensing incompatibility with the GPL -- as such user firmware containing such blobs must not be distributed.
Please get in touch with the QMK team on Discord if your sensor is no longer functional.
## Full changelist
Core:
* Refactor F4 ld files to use common files ([#18059](https://github.com/qmk/qmk_firmware/pull/18059))
* Add LD7032 support to QP. ([#20828](https://github.com/qmk/qmk_firmware/pull/20828))
This page links to all previous changelogs from the QMK Breaking Changes process.
* [2024 Nov 24](ChangeLog/20241124) - version 0.27.0
* [2024 Aug 25](ChangeLog/20240825) - version 0.26.0
* [2024 May 26](ChangeLog/20240526) - version 0.25.0
* [2024 Feb 25](ChangeLog/20240225) - version 0.24.0
Some files were not shown because too many files have changed in this diff
Show More
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.