Bugfix for Joystick and JSON schema (#14295)

master
Ryan 2021-09-09 10:27:58 +10:00 committed by GitHub
parent 3f2a030de6
commit 9e77cdf4e6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 16 additions and 13 deletions

View File

@ -698,19 +698,23 @@ ifeq ($(strip $(AUTO_SHIFT_ENABLE)), yes)
endif endif
JOYSTICK_ENABLE ?= no JOYSTICK_ENABLE ?= no
ifneq ($(strip $(JOYSTICK_ENABLE)), no) VALID_JOYSTICK_TYPES := analog digital
JOYSTICK_DRIVER ?= analog
ifeq ($(strip $(JOYSTICK_ENABLE)), yes)
ifeq ($(filter $(JOYSTICK_DRIVER),$(VALID_JOYSTICK_TYPES)),)
$(error "$(JOYSTICK_DRIVER)" is not a valid joystick driver)
endif
OPT_DEFS += -DJOYSTICK_ENABLE OPT_DEFS += -DJOYSTICK_ENABLE
SRC += $(QUANTUM_DIR)/process_keycode/process_joystick.c SRC += $(QUANTUM_DIR)/process_keycode/process_joystick.c
SRC += $(QUANTUM_DIR)/joystick.c SRC += $(QUANTUM_DIR)/joystick.c
endif
ifeq ($(strip $(JOYSTICK_ENABLE)), analog) ifeq ($(strip $(JOYSTICK_DRIVER)), analog)
OPT_DEFS += -DANALOG_JOYSTICK_ENABLE OPT_DEFS += -DANALOG_JOYSTICK_ENABLE
SRC += analog.c SRC += analog.c
endif endif
ifeq ($(strip $(JOYSTICK_DRIVER)), digital)
ifeq ($(strip $(JOYSTICK_ENABLE)), digital) OPT_DEFS += -DDIGITAL_JOYSTICK_ENABLE
OPT_DEFS += -DDIGITAL_JOYSTICK_ENABLE endif
endif endif
DIGITIZER_ENABLE ?= no DIGITIZER_ENABLE ?= no

View File

@ -2,8 +2,6 @@
The keyboard can be made to be recognized as a joystick HID device by the operating system. The keyboard can be made to be recognized as a joystick HID device by the operating system.
This is enabled by adding `JOYSTICK_ENABLE` to `rules.mk`. You can set this value to `analog`, `digital`, or `no`.
!> Joystick support is not currently available on V-USB devices. !> Joystick support is not currently available on V-USB devices.
The joystick feature provides two services: The joystick feature provides two services:
@ -18,7 +16,8 @@ or send gamepad reports based on values computed by the keyboard.
To use analog input you must first enable it in `rules.mk`: To use analog input you must first enable it in `rules.mk`:
```makefile ```makefile
JOYSTICK_ENABLE = analog JOYSTICK_ENABLE = yes
JOYSTICK_DRIVER = analog # or 'digital'
``` ```
An analog device such as a potentiometer found on a gamepad's analog axes is based on a [voltage divider](https://en.wikipedia.org/wiki/Voltage_divider). An analog device such as a potentiometer found on a gamepad's analog axes is based on a [voltage divider](https://en.wikipedia.org/wiki/Voltage_divider).

View File

@ -1 +1 @@
JOYSTICK_ENABLE = analog JOYSTICK_ENABLE = yes