summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Makefile27
-rw-r--r--Vagrantfile2
-rw-r--r--build_json.mk12
-rw-r--r--build_keyboard.mk19
-rw-r--r--build_layout.mk5
-rw-r--r--build_test.mk1
-rw-r--r--common_features.mk59
-rw-r--r--data/schemas/api_keyboard.jsonschema44
-rw-r--r--data/schemas/definitions.jsonschema107
-rw-r--r--data/schemas/keyboard.jsonschema253
-rw-r--r--docs/_summary.md2
-rw-r--r--docs/breaking_changes.md4
-rw-r--r--docs/chibios_upgrade_instructions.md56
-rw-r--r--docs/cli_commands.md2
-rw-r--r--docs/compatible_microcontrollers.md2
-rw-r--r--docs/config_options.md33
-rw-r--r--docs/custom_quantum_functions.md8
-rw-r--r--docs/eeprom_driver.md3
-rw-r--r--docs/feature_debounce_type.md4
-rw-r--r--docs/feature_dip_switch.md16
-rw-r--r--docs/feature_haptic_feedback.md26
-rw-r--r--docs/feature_key_overrides.md229
-rw-r--r--docs/feature_oled_driver.md4
-rw-r--r--docs/feature_rgb_matrix.md141
-rw-r--r--docs/feature_rgblight.md47
-rw-r--r--docs/feature_split_keyboard.md122
-rw-r--r--docs/feature_st7565.md274
-rw-r--r--docs/ja/compatible_microcontrollers.md2
-rw-r--r--docs/ja/feature_dip_switch.md16
-rw-r--r--docs/serial_driver.md15
-rw-r--r--docs/syllabus.md1
-rw-r--r--docs/understanding_qmk.md1
-rw-r--r--docs/zh-cn/custom_quantum_functions.md6
-rw-r--r--drivers/avr/i2c_master.c19
-rw-r--r--drivers/avr/i2c_slave.c29
-rw-r--r--drivers/avr/i2c_slave.h13
-rw-r--r--drivers/avr/serial.c82
-rw-r--r--drivers/avr/serial.h62
-rw-r--r--drivers/awinic/aw20216.c182
-rw-r--r--drivers/awinic/aw20216.h251
-rw-r--r--drivers/chibios/serial.c52
-rw-r--r--drivers/chibios/serial.h62
-rw-r--r--drivers/chibios/serial_usart.c352
-rw-r--r--drivers/chibios/serial_usart.h40
-rw-r--r--drivers/chibios/serial_usart_duplex.c261
-rw-r--r--drivers/chibios/spi_master.c70
-rw-r--r--drivers/chibios/spi_master.h19
-rw-r--r--drivers/eeprom/eeprom_i2c.c23
-rw-r--r--drivers/haptic/haptic.c71
-rw-r--r--drivers/issi/is31fl3737.c54
-rw-r--r--drivers/lcd/st7565.c496
-rw-r--r--drivers/lcd/st7565.h219
-rw-r--r--drivers/oled/oled_driver.c26
-rw-r--r--drivers/oled/oled_driver.h4
-rw-r--r--drivers/sensors/adns5050.c (renamed from keyboards/ploopyco/adns5050.c)10
-rw-r--r--drivers/sensors/adns5050.h (renamed from keyboards/ploopyco/adns5050.h)0
-rw-r--r--drivers/sensors/adns9800.c (renamed from keyboards/oddball/adns/adns.c)2
-rw-r--r--drivers/sensors/adns9800.h (renamed from keyboards/oddball/adns/adns.h)0
-rw-r--r--drivers/sensors/adns9800_srom_A6.h (renamed from keyboards/oddball/adns/adns9800_srom_A6.h)0
-rw-r--r--drivers/sensors/pimoroni_trackball.c (renamed from keyboards/draculad/keymaps/pimoroni/pimoroni_trackball.c)55
-rw-r--r--drivers/sensors/pimoroni_trackball.h (renamed from users/drashna/pimoroni_trackball.h)0
-rw-r--r--drivers/sensors/pmw3360.c (renamed from keyboards/handwired/dactyl_manuform/5x6_right_trackball/pmw3360.c)42
-rw-r--r--drivers/sensors/pmw3360.h (renamed from keyboards/ploopyco/pmw3360.h)1
-rw-r--r--drivers/sensors/pmw3360_firmware.h (renamed from keyboards/handwired/dactyl_manuform/5x6_right_trackball/pmw3360_firmware.h)0
-rw-r--r--drivers/serial.h46
-rw-r--r--keyboards/1upkeyboards/1up60rgb/keymaps/raffle/keymap.c2
-rw-r--r--keyboards/1upkeyboards/sweet16/keymaps/ridingintraffic/keymap.c44
-rw-r--r--keyboards/40percentclub/25/rules.mk2
-rw-r--r--keyboards/40percentclub/4x4/rules.mk2
-rw-r--r--keyboards/40percentclub/5x5/rules.mk2
-rw-r--r--keyboards/40percentclub/nori/rules.mk2
-rw-r--r--keyboards/40percentclub/ut47/keymaps/nordic/keymap.c10
-rw-r--r--keyboards/7skb/keymaps/salicylic/keymap.c2
-rw-r--r--keyboards/7splus/keymaps/salicylic/keymap.c2
-rw-r--r--keyboards/9key/rules.mk1
-rw-r--r--keyboards/abacus/keymaps/unicodemap/keymap.c3
-rw-r--r--keyboards/acr60/keymaps/mitch/keymap.c38
-rwxr-xr-xkeyboards/aeboards/constellation/rev2/config.h2
-rw-r--r--keyboards/ai03/voyager60_alps/config.h2
-rw-r--r--keyboards/ajisai74/keymaps/salicylic/keymap.c2
-rw-r--r--keyboards/alu84/keymaps/turbomech/keymap.c36
-rw-r--r--keyboards/amjpad/keymaps/max/keymap.c37
-rw-r--r--keyboards/anavi/macropad8/keymaps/default/config.h (renamed from keyboards/handwired/dactyl_manuform/5x6_right_trackball/keymaps/default/keymap.c)6
-rw-r--r--keyboards/atreus/keymaps/erlandsona/keymap.c15
-rw-r--r--keyboards/atreus/keymaps/khitsule/keymap.c24
-rw-r--r--keyboards/atreus62/keymaps/194h/keymap.c2
-rw-r--r--keyboards/bakeneko65/keymaps/default/readme.md1
-rw-r--r--keyboards/bakeneko65/rev2/config.h (renamed from keyboards/bakeneko65/config.h)2
-rw-r--r--keyboards/bakeneko65/rev2/info.json (renamed from keyboards/bakeneko65/info.json)4
-rw-r--r--keyboards/bakeneko65/rev2/keymaps/default/keymap.c (renamed from keyboards/bakeneko65/keymaps/default/keymap.c)0
-rw-r--r--keyboards/bakeneko65/rev2/keymaps/default/readme.md1
-rw-r--r--keyboards/bakeneko65/rev2/keymaps/via/keymap.c (renamed from keyboards/bakeneko65/keymaps/via/keymap.c)0
-rw-r--r--keyboards/bakeneko65/rev2/keymaps/via/rules.mk (renamed from keyboards/bakeneko65/keymaps/via/rules.mk)0
-rw-r--r--keyboards/bakeneko65/rev2/readme.md (renamed from keyboards/bakeneko65/readme.md)8
-rw-r--r--keyboards/bakeneko65/rev2/rev2.c (renamed from keyboards/bakeneko65/bakeneko65.c)2
-rw-r--r--keyboards/bakeneko65/rev2/rev2.h (renamed from keyboards/bakeneko65/bakeneko65.h)0
-rw-r--r--keyboards/bakeneko65/rev2/rules.mk (renamed from keyboards/bakeneko65/rules.mk)0
-rw-r--r--keyboards/bakeneko65/rev3/config.h109
-rw-r--r--keyboards/bakeneko65/rev3/info.json12
-rw-r--r--keyboards/bakeneko65/rev3/keymaps/default/keymap.c38
-rw-r--r--keyboards/bakeneko65/rev3/keymaps/default/readme.md1
-rw-r--r--keyboards/bakeneko65/rev3/keymaps/via/keymap.c54
-rw-r--r--keyboards/bakeneko65/rev3/keymaps/via/rules.mk (renamed from keyboards/gmmk/pro/keymaps/via/rules.mk)0
-rw-r--r--keyboards/bakeneko65/rev3/readme.md17
-rw-r--r--keyboards/bakeneko65/rev3/rev3.c17
-rw-r--r--keyboards/bakeneko65/rev3/rev3.h33
-rw-r--r--keyboards/bakeneko65/rev3/rules.mk22
-rw-r--r--keyboards/barracuda/rules.mk2
-rw-r--r--keyboards/basekeys/trifecta/config.h4
-rwxr-xr-xkeyboards/bm40hsrgb/config.h4
-rw-r--r--keyboards/bm68rgb/keymaps/peepeetee/config.h2
-rw-r--r--keyboards/boardsource/3x4/config.h2
-rw-r--r--keyboards/boardsource/the_mark/config.h6
-rw-r--r--keyboards/boardwalk/keymaps/mcallaster/keymap.c2
-rw-r--r--keyboards/bpiphany/frosty_flake/frosty_flake.h30
-rw-r--r--keyboards/bpiphany/kitten_paw/keymaps/ickerwx/keymap.c154
-rw-r--r--keyboards/bpiphany/pegasushoof/2013/2013.h18
-rw-r--r--keyboards/bpiphany/pegasushoof/2015/2015.h36
-rw-r--r--keyboards/bpiphany/pegasushoof/keymaps/blowrak/keymap.c8
-rw-r--r--keyboards/cannonkeys/satisfaction75/satisfaction75.c2
-rw-r--r--keyboards/checkerboards/nop60/info.json4
-rw-r--r--keyboards/christmas_tree/rules.mk1
-rw-r--r--keyboards/clueboard/66/keymaps/magicmonty/keymap.c30
-rw-r--r--keyboards/clueboard/66/keymaps/tetris/keymap.c126
-rw-r--r--keyboards/comet46/keymaps/default-rgbled/keymap.c2
-rw-r--r--