Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove default pointing device driver. #16190

Merged
merged 3 commits into from
Feb 5, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion common_features.mk
Original file line number Diff line number Diff line change
Expand Up @@ -109,7 +109,6 @@ ifeq ($(strip $(MOUSEKEY_ENABLE)), yes)
endif

VALID_POINTING_DEVICE_DRIVER_TYPES := adns5050 adns9800 analog_joystick cirque_pinnacle_i2c cirque_pinnacle_spi pmw3360 pmw3389 pimoroni_trackball custom
POINTING_DEVICE_DRIVER ?= custom
ifeq ($(strip $(POINTING_DEVICE_ENABLE)), yes)
ifeq ($(filter $(POINTING_DEVICE_DRIVER),$(VALID_POINTING_DEVICE_DRIVER_TYPES)),)
$(call CATASTROPHIC_ERROR,Invalid POINTING_DEVICE_DRIVER,POINTING_DEVICE_DRIVER="$(POINTING_DEVICE_DRIVER)" is not a valid pointing device type)
Expand Down
10 changes: 8 additions & 2 deletions docs/feature_pointing_device.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

Pointing Device is a generic name for a feature intended to be generic: moving the system pointer around. There are certainly other options for it - like mousekeys - but this aims to be easily modifiable and hardware driven. You can implement custom keys to control functionality, or you can gather information from other peripherals and insert it directly here - let QMK handle the processing for you.

To enable Pointing Device, uncomment the following line in your rules.mk:
To enable Pointing Device, add the following line in your rules.mk and specify one of the driver options below.

```make
POINTING_DEVICE_ENABLE = yes
Expand Down Expand Up @@ -181,7 +181,13 @@ The CPI range is 50-16000, in increments of 50. Defaults to 2000 CPI.

### Custom Driver

If you have a sensor type that isn't supported here, you can manually implement it, by adding these functions (with the correct implementation for your device):
If you have a sensor type that isn't supported above, a custom option is available by adding the following to your `rules.mk`

```make
POINTING_DEVICE_DRIVER = custom
```

Using the custom driver will require implementing the following functions:

```c
void pointing_device_driver_init(void) {}
Expand Down
1 change: 1 addition & 0 deletions keyboards/3w6/rev2/keymaps/default_pimoroni/rules.mk
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
POINTING_DEVICE_ENABLE = yes
POINTING_DEVICE_DRIVER = custom
SRC += pimoroni_trackball.c
MOUSEKEY_ENABLE = no
1 change: 1 addition & 0 deletions keyboards/crkbd/keymaps/vlukash_trackpad_right/rules.mk
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
# Build Options
POINTING_DEVICE_ENABLE = yes # Generic Pointer, not as big as mouse keys hopefully.
POINTING_DEVICE_DRIVER = custom
MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight.
Expand Down
1 change: 1 addition & 0 deletions keyboards/dichotomy/rules.mk
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ BOOTLOADER = caterina
BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
#MOUSEKEY_ENABLE = yes # Mouse keys
POINTING_DEVICE_ENABLE = yes # Generic Pointer, not as big as mouse keys hopefully.
POINTING_DEVICE_DRIVER = custom
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = yes # Console for debug
COMMAND_ENABLE = yes # Commands for debug and configuration
Expand Down
1 change: 1 addition & 0 deletions keyboards/gergo/keymaps/abstractkb/rules.mk
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ ifneq ($(strip $(SCROLLSTEP)),)
endif
ifeq ($(strip $(BALLER)), yes)
POINTING_DEVICE_ENABLE = yes
POINTING_DEVICE_DRIVER = custom
OPT_DEFS += -DBALLER
endif
ifeq ($(strip $(DEBUG_BALLER)), yes)
Expand Down
1 change: 1 addition & 0 deletions keyboards/gergo/keymaps/default/rules.mk
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ ifneq ($(strip $(SCROLLSTEP)),)
endif
ifeq ($(strip $(BALLER)), yes)
POINTING_DEVICE_ENABLE = yes
POINTING_DEVICE_DRIVER = custom
OPT_DEFS += -DBALLER
endif
ifeq ($(strip $(DEBUG_BALLER)), yes)
Expand Down
1 change: 1 addition & 0 deletions keyboards/gergo/keymaps/germ/rules.mk
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ endif
ifeq ($(strip $(BALLER)), yes)
OPT_DEFS += -DBALLER
POINTING_DEVICE_ENABLE = yes
POINTING_DEVICE_DRIVER = custom
endif
ifeq ($(strip $(DEBUG_BALLER)), yes)
OPT_DEFS += -DDEBUG_BALLER
Expand Down
1 change: 1 addition & 0 deletions keyboards/gergo/keymaps/gotham/rules.mk
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ ifneq ($(strip $(SCROLLSTEP)),)
endif
ifeq ($(strip $(BALLER)), yes)
POINTING_DEVICE_ENABLE = yes
POINTING_DEVICE_DRIVER = custom
OPT_DEFS += -DBALLER
endif
ifeq ($(strip $(DEBUG_BALLER)), yes)
Expand Down
1 change: 1 addition & 0 deletions keyboards/gergo/keymaps/oled/rules.mk
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ ifneq ($(strip $(SCROLLSTEP)),)
endif
ifeq ($(strip $(BALLER)), yes)
POINTING_DEVICE_ENABLE = yes
POINTING_DEVICE_DRIVER = custom
OPT_DEFS += -DBALLER
endif
ifeq ($(strip $(DEBUG_BALLER)), yes)
Expand Down
1 change: 1 addition & 0 deletions keyboards/honeycomb/rules.mk
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ BOOTLOADER = caterina
BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
#MOUSEKEY_ENABLE = yes # Mouse keys
POINTING_DEVICE_ENABLE = yes # Generic Pointer, not as big as mouse keys hopefully.
POINTING_DEVICE_DRIVER = custom
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = yes # Console for debug
COMMAND_ENABLE = yes # Commands for debug and configuration
Expand Down
1 change: 1 addition & 0 deletions keyboards/molecule/rules.mk
Original file line number Diff line number Diff line change
Expand Up @@ -19,5 +19,6 @@ AUDIO_ENABLE = no # Audio output

# Add trackball support
POINTING_DEVICE_ENABLE = yes
POINTING_DEVICE_DRIVER = custom
SRC += adns.c
QUANTUM_LIB_SRC += spi_master.c
1 change: 1 addition & 0 deletions keyboards/splitkb/kyria/keymaps/gotham/rules.mk
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ endif

ifeq ($(strip $(THUMBSTICK_ENABLE)), yes)
POINTING_DEVICE_ENABLE = yes
POINTING_DEVICE_DRIVER = custom
OPT_DEFS += -DTHUMBSTICK_ENABLE
SRC += analog.c
SRC += thumbstick.c
Expand Down