forked from mirror/joycontrol
31 lines
595 B
Python
31 lines
595 B
Python
|
|
def get_bit(value, n):
|
|
return (value >> n & 1) != 0
|
|
|
|
|
|
def flip_bit(value, n):
|
|
return value ^ (1 << n)
|
|
|
|
|
|
class Buttons:
|
|
"""
|
|
Utility class to set buttons in the input report
|
|
TODO: More Buttons
|
|
"""
|
|
def __init__(self):
|
|
self.left = 0
|
|
self.middle = 0
|
|
self.right = 0
|
|
|
|
def home(self):
|
|
self.middle = flip_bit(self.middle, 4)
|
|
|
|
def home_is_set(self):
|
|
return get_bit(self.middle, 4)
|
|
|
|
def to_list(self):
|
|
return [self.left, self.middle, self.right]
|
|
|
|
def clear(self):
|
|
self.left = self.middle = self.right = 0
|