summaryrefslogtreecommitdiff
path: root/keyboards/handwired/onekey
AgeCommit message (Collapse)Author
2020-08-29Hid joystick interface (#4226)a-chol
* 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>
2020-08-29Initial work for consolidation of ChibiOS platform files (#8327)Nick Brassel
* 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.
2020-08-17Fix sendstring call in onekey ADC keymap (#10031)Ryan
2020-07-26Enable OLED support for Teensy 3.2/LC (#7591)Joel Challis
* 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
2020-07-22Update handwired/onekey/teensy_2pp readme (#9784)Sergey Vlasov
In commit 297aad6ebd85 pins for handwired/onekey/teensy_2pp were changed from B2/B1 to F4/F5; update readme.md to match that change.
2020-07-20Update onekey proton_c readme (#9758)Nico Cesar
A3 won't work. The code says A1 and A2 and it works. prints out an "a"
2020-06-15Change ?= to = in keyboard rules.mk (#9390)Ryan
2020-06-07[Keyboard] Fix error_log complaint about handwired/onekey layout macro (#9263)Ryan
2020-05-26CLI: fix `json2c` subcommand and add/fix tests (#9206)Erovia
Co-authored-by: Zach White <skullydazed@users.noreply.github.com>
2020-05-19Add SPI 25xx EEPROM support. (#8780)Nick Brassel
2020-04-05Enable memcore to fix malloc/rand crashes (#8695)Joel Challis
2020-03-24Set backlight and RGB pins for AVR onekeys (#8533)Ryan
* 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
2020-03-18[Keymap] I2C scanner (#8454)Joel Challis
* Add i2c scanner keymap * Add bodge for chibios * Fix readme title * make chibios bodge a little cleaner * fix typo in readme
2020-03-17ARM - ADC cleanup (#8385)Joel Challis
* 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>
2020-03-06Add f401 and f411 blackpill examples (#7930)Joel Challis
* 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
2020-03-01Add onekey keymap for testing reset to bootloader. (#8288)Nick Brassel
2020-03-01Allow for ChibiOS 20.x (master), as well as enabling ChibiOS-Contrib HAL. ↵Nick Brassel
(#8272)
2020-02-292020 February 29 Breaking Changes Update (#8064)James Young
2020-02-21Add Arm Teensys to mcu_selection.mk (#8026)Ryan
* Add Arm Teensys to mcu_selection.mk * Roll back halfkeyboard keymap changes * Remove extra newline
2020-02-15Code cleanup, use pathlib, use pytest keyboardErovia
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.
2020-01-28Move CORTEX_ENABLE_WFI_IDLE=TRUE to rules.mk files.Nick Brassel
2020-01-27Refactor stm32duino f103 keyboards to use new central board config files (#7706)Joel Challis
* Create central board for bluepill * Remove duplicate board files * Refactor to use new central board config files * Fix cannonkeys f103 boards
2020-01-27Migrate common ld scripts to common location (#7887)Joel Challis
* Migrate common ld scripts to common location * Remove duplicate ld scripts * Update build to look at common ld location
2020-01-26Refactor to use new central board config fileszvecr
2020-01-26Remove duplicate board fileszvecr
2020-01-19Enforce definition of `DIODE_DIRECTION` for non-custom matrix boards (#7915)fauxpark
* 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
2020-01-10Refactor f103,f072,f042 based keyboards to use new MCU selection defaults ↵Joel Challis
(#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'
2019-11-07ARM - ws2812 bitbang (#7173)Joel Challis
* 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
2019-10-20Cleanup rules.mk for 32U4 keyboards, H (#7030)fauxpark
* Cleanup rules.mk for 32U4 keyboards, H * Change some boards incorrectly assumed to be halfkay
2019-10-05ARM - Initial backlight support (#6487)Joel Challis
* 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
2019-09-19Cleanup rules.mk for USB64 and USB128 keyboards (#6769)fauxpark
2019-09-07Setup a python test frameworkskullY
2019-08-15Remove duplicate test keyboards (#6539)Joel Challis
* Remove test keyboards now onekey and splittest have been extended * Add f072 for testing
2019-06-26[Keyboard] Refactor of onekey to support multiple development boards (#6017)Joel Challis
* 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
2019-01-26Adds a default value for IS_COMMAND for COMMAND feature (#4301)Drashna Jaelre
* 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
2018-12-10handwired/onekey Refactor and readme update (#4590)noroadsleft
* handwired/onekey: refactor - keyboard now uses a layout macro - keymap now uses #include QMK_KEYBOARD_H * handwired/onekey: readme update Updated Docs links.
2018-04-11More QMK Configurator Warning/Error Fixes (#2720)MechMerlin
* 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
2017-09-27remove all makefiles from keyboard directoriesJack Humbert
2017-08-23Creates a layouts/ folder for keymaps shared between keyboards (#1609)Jack Humbert
* 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
2017-06-30Update keyboards' rules.mk/Makefiles (#1442)Jack Humbert
this may change some of the keyboards' default settings - if you experience anything odd, please check back to this commit
2017-02-07pass through travis errorsJack Humbert
2016-08-20Split subproject make files into Makefile and rules.mkFred Sundvik
2016-08-20Split keyboard makefiles into rules and MakefileFred Sundvik
2016-06-29adds handwire and onekey exampleJack Humbert