Add reverse scrolling mode to the Pimoroni Trackball module
Signed-off-by: Salvatore La Bua <slabua@gmail.com>
This commit is contained in:
parent
ecfbca82a6
commit
f674ac6b13
@ -32,7 +32,8 @@ trackball = Trackball(i2c, mode=TrackballMode.MOUSE_MODE, handlers=[
|
|||||||
KeyHandler(KC.UP, KC.RIGHT, KC.DOWN, KC.LEFT, KC.ENTER),
|
KeyHandler(KC.UP, KC.RIGHT, KC.DOWN, KC.LEFT, KC.ENTER),
|
||||||
# on layer 1 and above use the default pointing behavior
|
# on layer 1 and above use the default pointing behavior
|
||||||
PointingHandler(),
|
PointingHandler(),
|
||||||
ScrollHandler()
|
# use scrolling='natural' (default) or 'reverse' to change the scrolling direction
|
||||||
|
ScrollHandler(scrolling='natural')
|
||||||
])
|
])
|
||||||
|
|
||||||
# now you can use these KeyCodes:
|
# now you can use these KeyCodes:
|
||||||
|
@ -96,7 +96,13 @@ class PointingHandler(TrackballHandler):
|
|||||||
|
|
||||||
|
|
||||||
class ScrollHandler(TrackballHandler):
|
class ScrollHandler(TrackballHandler):
|
||||||
|
def __init__(self, scrolling='natural'):
|
||||||
|
self.scrolling = scrolling
|
||||||
|
|
||||||
def handle(self, keyboard, trackball, x, y, switch, state):
|
def handle(self, keyboard, trackball, x, y, switch, state):
|
||||||
|
if self.scrolling == 'reverse':
|
||||||
|
y = -y
|
||||||
|
|
||||||
pointing_device = trackball.pointing_device
|
pointing_device = trackball.pointing_device
|
||||||
pointing_device.report_w[0] = 0xFF & y
|
pointing_device.report_w[0] = 0xFF & y
|
||||||
pointing_device.hid_pending = y != 0
|
pointing_device.hid_pending = y != 0
|
||||||
|
Loading…
x
Reference in New Issue
Block a user