diff options
Diffstat (limited to 'keyboards/handwired/onekey/keymaps/joystick')
-rw-r--r-- | keyboards/handwired/onekey/keymaps/joystick/config.h | 4 | ||||
-rw-r--r-- | keyboards/handwired/onekey/keymaps/joystick/keymap.c | 20 |
2 files changed, 24 insertions, 0 deletions
diff --git a/keyboards/handwired/onekey/keymaps/joystick/config.h b/keyboards/handwired/onekey/keymaps/joystick/config.h new file mode 100644 index 0000000000..8a4e461b27 --- /dev/null +++ b/keyboards/handwired/onekey/keymaps/joystick/config.h @@ -0,0 +1,4 @@ +#pragma once + +#define JOYSTICK_AXIS_COUNT 2 +#define JOYSTICK_BUTTON_COUNT 1 diff --git a/keyboards/handwired/onekey/keymaps/joystick/keymap.c b/keyboards/handwired/onekey/keymaps/joystick/keymap.c new file mode 100644 index 0000000000..6463900b7b --- /dev/null +++ b/keyboards/handwired/onekey/keymaps/joystick/keymap.c @@ -0,0 +1,20 @@ +#include QMK_KEYBOARD_H + +#ifndef ADC_PIN +# define ADC_PIN F6 +#endif + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + LAYOUT_ortho_1x1(JS_0) +}; + +void matrix_scan_user() { + int16_t val = (((uint32_t)timer_read() % 5000 - 2500) * 255) / 5000; + joystick_set_axis(1, val); +} + +// Joystick config +joystick_config_t joystick_axes[JOYSTICK_AXIS_COUNT] = { + [0] = JOYSTICK_AXIS_IN(ADC_PIN, 0, 512, 1023), + [1] = JOYSTICK_AXIS_VIRTUAL +}; |