* 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>
* 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.
* 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>
* 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.
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 command allows for searching through keyboard/keymap targets, filtering by specific criteria. `info.json` and `rules.mk` files contribute to the search data, as well as keymap configurations, and the results can be filtered using "dotty" syntax matching the overall `info.json` file format.
For example, one could search for all keyboards using STM32F411:
For example, one could search for all keyboards powered by the STM32F411 microcontroller:
```
qmk find -f 'processor=STM32F411'
qmk find -f 'processor==STM32F411'
```
...and one can further constrain the list to keyboards using STM32F411 as well as rgb_matrix support:
The list can be further constrained by passing additional filter expressions:
@ -75,10 +79,6 @@ You can also use any ARM chip with USB that [ChibiOS](https://www.chibios.org) s
For a detailed overview about the RP2040 support by QMK see the [dedicated RP2040 page](platformdev_rp2040).
## Atmel ATSAM
There is limited support for one of Atmel's ATSAM microcontrollers, that being the [ATSAMD51J18A](https://www.microchip.com/wwwproducts/en/ATSAMD51J18A) used by the [Massdrop keyboards](https://github.com/qmk/qmk_firmware/tree/master/keyboards/massdrop). However, it is not recommended to design a board with this microcontroller as the support is quite specialized to Massdrop hardware.
@ -426,8 +426,6 @@ Use these to enable or disable building certain features. The more you have enab
* Key combo feature
* `NKRO_ENABLE`
* USB N-Key Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
* `RING_BUFFERED_6KRO_REPORT_ENABLE`
* USB 6-Key Rollover - Instead of stopping any new input once 6 keys are pressed, the oldest key is released and the new key is pressed.
* `AUDIO_ENABLE`
* Enable the audio subsystem.
* `KEY_OVERRIDE_ENABLE`
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.