* 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>