home button mash test

This commit is contained in:
Robert Martin
2020-01-29 20:51:59 +09:00
parent 07f539743d
commit 1fd9e2b655
4 changed files with 89 additions and 21 deletions
+30
View File
@@ -0,0 +1,30 @@
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