aboutsummaryrefslogtreecommitdiffstats
path: root/keyboards/handwired/onekey
Commit message (Collapse)AuthorAgeFilesLines
* Hid joystick interface (#4226)a-chol2020-08-293-0/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * add support for hid gamepad interface add documentation for HID joystick Add joystick_task to read analog axes values even when no key is pressed or release. update doc Update docs/feature_joystick.md Manage pin setup and read to maintain matrix scan after analog read * Incorporates patches and changes to HID reporting There are some patches provided by @a-chol incorporated on this commit, and also some changes I made to the HID Report structure. The most interesting is the one dealing with number of buttons: Linux doesn't seem to care, but Windows requires the HID structure to be byte aligned (that's in the spec). So if one declares 8/16/32... buttons they should not have any issues, but this is what happens when you have 9 buttons: ``` bits |0|1|2|3|4|5|6|7| |*|*|*|*|*|*|*|*| axis 0 (report size 8) |*|*|*|*|*|*|*|*| ... |*|*|*|*|*|*|*|*| |*|*|*|*|*|*|*|*| |*|*|*|*|*|*|*|*| |*|*|*|*|*|*|*|*| |*|*|*|*|*|*|*|*| axis 6 |*|*|*|*|*|*|*|*| first 8 buttons (report size 1) |*| | | | | | | | last of 9 buttons, not aligned ``` So for that I added a conditonal that will add a number of reports with size 1 to make sure it aligns to the next multiple of 8. Those reports send dummy inputs that don't do anything aside from aligning the data. Tested on Linux, Windows 10 and Street Fighter (where the joystick is recognized as direct-input) * Add save and restore of each pin used in reading joystick (AVR). Allow output pin to be JS_VIRTUAL_AXIS if the axis is connected to Vcc instead of an output pin from the MCU. Fix joystick report id Fix broken v-usb hid joystick interface. Make it more resilient to unusual settings (none multiple of eight button count, 0 buttons or 0 axes) Correct adc reading for multiple axes. Piecewise range conversion for uncentered raw value range. Input, output and ground pin configuration per axis. Documentation fixes * Fix port addressing for joystick analog read * The other required set of changes As per the PR, the changes still holding it up. Add onekey for testing. Fix ARM builds. Fix device descriptor when either axes or buttons is zero. Add compile-time check for at least one axis or button. Move definition to try to fix conflict. PR review comments. qmk cformat * avoid float functions to compute range mapping for axis adc reading * Remove V-USB support for now. Updated docs accordingly. * Update tmk_core/protocol/lufa/lufa.c Co-Authored-By: Ryan <fauxpark@gmail.com> * Update tmk_core/protocol/usb_descriptor.c Co-Authored-By: Ryan <fauxpark@gmail.com> * Update tmk_core/protocol/usb_descriptor.c Co-Authored-By: Ryan <fauxpark@gmail.com> * Update tmk_core/protocol/usb_descriptor.c Co-Authored-By: Ryan <fauxpark@gmail.com> * Add support for joystick adc reading for stm32 MCUs. Fix joystick hid report sending for chibios * Fix HID joystick report sending for ChibiOS. Add one analog axis to the onekey:joystick keymap. Fix pin state save and restore during joystick analog read for STM32 MCUs. * Update tmk_core/protocol/chibios/usb_main.c Co-Authored-By: Ryan <fauxpark@gmail.com> * Update tmk_core/protocol/lufa/lufa.c Co-Authored-By: Ryan <fauxpark@gmail.com> * Add missing mcuconf.h and halconf.h to onekey:joystick keymap. Add suggested fixes from PR. * Switch saveState and restoreState signature to use pin_t type. onekey:joystick : add a second axis, virtual and programmatically animated. * Update docs/feature_joystick.md Co-Authored-By: Ryan <fauxpark@gmail.com> * Update docs/feature_joystick.md Co-Authored-By: Ryan <fauxpark@gmail.com> * Add PR corrections * Remove halconf.h and mcuconf.h from onekey keymaps * Change ADC_PIN to A0 Co-authored-by: achol <allecooll@hotmail.com> Co-authored-by: José Júnior <jose.junior@gmail.com> Co-authored-by: a-chol <achol@notamail.com> Co-authored-by: Nick Brassel <nick@tzarc.org> Co-authored-by: Ryan <fauxpark@gmail.com>
* Initial work for consolidation of ChibiOS platform files (#8327)Nick Brassel2020-08-296-2966/+64
| | | | | | | | | | | | | | | | | * Initial work for consolidation of board files and default ChibiOS configs. * Migrate F401/F411 black pills for testing. * Add early init bootloader jump flag. * Add support for I2C in order to use i2c_scanner keymap. * Add F401/F411 HSE bypass to get things booting. * Exempt "hooked" ChibiOS conf files from updater script. * Fix up ordering for bootloader_defs file check. * Match previous $(KEYBOARD_PATHS) value for Proton-C, updated for all board configs.
* Fix sendstring call in onekey ADC keymap (#10031)Ryan2020-08-171-1/+1
|
* Enable OLED support for Teensy 3.2/LC (#7591)Joel Challis2020-07-266-2/+26
| | | | | | | | | | | | | * I2C_TIMEOUT is not defined on arm teensy * Work round teensy having different ChibiOS config options * Stash OLED conf files * update comment * update comment * Remove stm32 alias to allow teensy alt mode
* Update handwired/onekey/teensy_2pp readme (#9784)Sergey Vlasov2020-07-221-1/+1
| | | | In commit 297aad6ebd85 pins for handwired/onekey/teensy_2pp were changed from B2/B1 to F4/F5; update readme.md to match that change.
* Update onekey proton_c readme (#9758)Nico Cesar2020-07-201-1/+1
| | | A3 won't work. The code says A1 and A2 and it works. prints out an "a"
* Change ?= to = in keyboard rules.mk (#9390)Ryan2020-06-152-2/+2
|
* [Keyboard] Fix error_log complaint about handwired/onekey layout macro (#9263)Ryan2020-06-079-44/+43
|
* CLI: fix `json2c` subcommand and add/fix tests (#9206)Erovia2020-05-262-0/+10
| | | Co-authored-by: Zach White <skullydazed@users.noreply.github.com>
* Add SPI 25xx EEPROM support. (#8780)Nick Brassel2020-05-191-0/+5
|
* Enable memcore to fix malloc/rand crashes (#8695)Joel Challis2020-04-051-1/+1
|
* Set backlight and RGB pins for AVR onekeys (#8533)Ryan2020-03-2411-10/+39
| | | | | | | | | | | * Set backlight and RGB pins for AVR onekeys * Set pin for ADC as well * Define ADC_PIN for F4 blackpills * Use A0 for F4 ADCs * Set ADC pins for F0 and F1
* [Keymap] I2C scanner (#8454)Joel Challis2020-03-184-0/+111
| | | | | | | | | | | * Add i2c scanner keymap * Add bodge for chibios * Fix readme title * make chibios bodge a little cleaner * fix typo in readme
* ARM - ADC cleanup (#8385)Joel Challis2020-03-173-0/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Update switch to array to allow custom values * Add adc keymap * update docs to reflect alignment of default 10 bit * start conversion to USE_ADCVn * samplerate is hella wrong...stub out for now * basic f1 and f4 functionality * Tidy up current changes * Restore old pinToMux function * Add back sample rate for supported platforms * F0 compile fixes * wordsmithery Co-Authored-By: Ryan <fauxpark@gmail.com> * Remove reference to avr only function Co-authored-by: Ryan <fauxpark@gmail.com>
* Add f401 and f411 blackpill examples (#7930)Joel Challis2020-03-0612-0/+3116
| | | | | | | | | | | | | | | * Add f401 and f411 blackpill examples * Add readme files * Align dfu args with core * Add support for RESET keycode * move STM32_BOOTLOADER_ADDRESS to rules * Update conf files to latest ChibiOS * Update conf files to latest ChibiOS
* Add onekey keymap for testing reset to bootloader. (#8288)Nick Brassel2020-03-011-0/+5
|
* Allow for ChibiOS 20.x (master), as well as enabling ChibiOS-Contrib HAL. ↵Nick Brassel2020-03-011-0/+1
| | | | (#8272)
* 2020 February 29 Breaking Changes Update (#8064)James Young2020-02-298-206/+1668
|
* Add Arm Teensys to mcu_selection.mk (#8026)Ryan2020-02-212-84/+4
| | | | | | | | * Add Arm Teensys to mcu_selection.mk * Roll back halfkeyboard keymap changes * Remove extra newline
* Code cleanup, use pathlib, use pytest keyboardErovia2020-02-151-0/+1
| | | | | | | | Clean up checks and logics that are unnecessary due to MILC updates. Use pathlib instead of os.path for readability. Use the 'pytest' keyboard for the tests. Add community layout for 'handwired/onekey/pytest' so we can test community layouts.
* Move CORTEX_ENABLE_WFI_IDLE=TRUE to rules.mk files.Nick Brassel2020-01-288-16/+16
|
* Refactor stm32duino f103 keyboards to use new central board config files (#7706)Joel Challis2020-01-274-228/+1
|\ | | | | | | | | | | | | | | | | | | * Create central board for bluepill * Remove duplicate board files * Refactor to use new central board config files * Fix cannonkeys f103 boards
| * Refactor to use new central board config fileszvecr2020-01-261-1/+1
| |
| * Remove duplicate board fileszvecr2020-01-263-227/+0
| |
* | Migrate common ld scripts to common location (#7887)Joel Challis2020-01-273-294/+0
|/ | | | | | | | * Migrate common ld scripts to common location * Remove duplicate ld scripts * Update build to look at common ld location
* Enforce definition of `DIODE_DIRECTION` for non-custom matrix boards (#7915)fauxpark2020-01-191-0/+2
| | | | | | | | | | * Enforce definition of `DIODE_DIRECTION` for non-custom matrix boards * Define diode direction for failing boards * Matching parentheses * Put onekey diode directions in top level config
* Refactor f103,f072,f042 based keyboards to use new MCU selection defaults ↵Joel Challis2020-01-102-70/+7
| | | | | | | | | | (#7705) * refactor keyboards using ST_STM32F072B_DISCOVERY to use 'MCU = STM32F072' * refactor keyboards using GENERIC_STM32_F042X6 to use 'MCU = STM32F042' * refactor keyboards using GENERIC_STM32_F103 to use 'MCU = STM32F103'
* ARM - ws2812 bitbang (#7173)Joel Challis2019-11-076-0/+22
| | | | | | | | | | | | | | | | | | | | * Initial ARM bitbang ws2812 driver * Unify chibios platform to run rgblight_task * Remove 'avr only' comments from ws2812 docs * Remove 'avr only' comments from ws2812 docs * Unify chibios platform to run rgblight_task - review comments * Remove debug flags from keymap * Add comments from review * Add defines for STM32L0XX * Attempt to get arm ws2812 working on multiple gcc versions
* Cleanup rules.mk for 32U4 keyboards, H (#7030)fauxpark2019-10-203-144/+6
| | | | | | * Cleanup rules.mk for 32U4 keyboards, H * Change some boards incorrectly assumed to be halfkay
* ARM - Initial backlight support (#6487)Joel Challis2019-10-0510-5/+70
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Move AVR backlight to own file, add borrowed ARM implementation * Tiny fix for backlight custom logic * Remove duplicate board from rebase * Fix f303 onekey example * clang-format * clang-format * Remove backlight keymap debug * Initial pass of ARM backlight docs * Initial pass of ARM backlight docs - resolve todos * fix rules validation logic * Add f072 warning * Add f072 warning * tidy up breathing in backlight keymap * tidy up breathing in backlight keymap * add missing break to backlight keymap
* Cleanup rules.mk for USB64 and USB128 keyboards (#6769)fauxpark2019-09-191-48/+2
|
* Setup a python test frameworkskullY2019-09-074-0/+29
|
* Remove duplicate test keyboards (#6539)Joel Challis2019-08-156-0/+1110
| | | | | | * Remove test keyboards now onekey and splittest have been extended * Add f072 for testing
* [Keyboard] Refactor of onekey to support multiple development boards (#6017)Joel Challis2019-06-2644-77/+4142
| | | | | | | | | | | | * Initial refactor of onekey to support multiple development boards * Fixes to get teensy lc && 3.2 working * Add pin tables * Add caveats to Teensy boards * Correct bootloader for Elite-C
* Adds a default value for IS_COMMAND for COMMAND feature (#4301)Drashna Jaelre2019-01-261-7/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add default value for IS_COMMAND for COMMAND feature * Cleanup and consistency * Update Templates to reflect change * Fix IS_COMMAND in template * Fix IS_COMMAND define * Use consistent IS_COMMAND block in templates * Remove unnecessary `#undef IS_COMMAND` directives * Fix compile issue on orthodox * Reomve IS_COMMAND option for newer boards * Remove all existing definitions of IS_COMMAND if they use default LSHIFT and RSHIFT setting * Remove a couple of additional IS_COMMAND defines * Remove remaining redundant IS_COMMAND definitions * Remove #undef IS_COMMAND from orthodox:drashna and whitefox:konstantin * Remove multiple empty lines in modified config.h files * Update additional boards * Reomve IS_COMMAND from newer boards * Update Alice keyboard * Remove IS_COMMAND from additional boards Jan 24th edition
* handwired/onekey Refactor and readme update (#4590)noroadsleft2018-12-103-4/+15
| | | | | | | | | | | * handwired/onekey: refactor - keyboard now uses a layout macro - keymap now uses #include QMK_KEYBOARD_H * handwired/onekey: readme update Updated Docs links.
* More QMK Configurator Warning/Error Fixes (#2720)MechMerlin2018-04-111-0/+15
| | | | | | | | | | | | | | | | | | | | * Add readme with brief description Change KEYMAP to LAYOUT * Add readme.md with brief description Use LAYOUT macro * add a readme.md file * Add readme.md with brief description Use LAYOUT macro * Add readme.md with brief description Use LAYOUT macro * Fix "Warning: contra: Missing layout pp macro for ['planck_mit', 'planck_grid']", * Use LAYOUT macro
* remove all makefiles from keyboard directoriesJack Humbert2017-09-271-3/+0
|
* Creates a layouts/ folder for keymaps shared between keyboards (#1609)Jack Humbert2017-08-231-5/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * include variables and .h files as pp directives * start layout compilation * split ergodoxes up * don't compile all layouts for everything * might seg fault * reset layouts variable * actually reset layouts * include rules.mk instead * remove includes from rules.mk * update variable setting * load visualizer from path * adds some more examples * adds more layouts * more boards added * more boards added * adds documentation for layouts * use lowercase names for LAYOUT_ * add layout.json files for each layout * add community folder, default keymaps for layouts * touch-up default layouts * touch-up layouts, some keyboard rules.mk * update documentation for layouts * fix up serial/i2c switches
* Update keyboards' rules.mk/Makefiles (#1442)Jack Humbert2017-06-301-5/+5
| | | this may change some of the keyboards' default settings - if you experience anything odd, please check back to this commit
* pass through travis errorsJack Humbert2017-02-071-1/+1
|
* Split subproject make files into Makefile and rules.mkFred Sundvik2016-08-202-1/+66
|
* Split keyboard makefiles into rules and MakefileFred Sundvik2016-08-201-64/+2
|
* adds handwire and onekey exampleJack Humbert2016-06-295-0/+147