Implement button events
This commit is contained in:
@@ -2,6 +2,8 @@
|
||||
import re
|
||||
from typing import List
|
||||
|
||||
from buttonplus_generator.constants import *
|
||||
|
||||
|
||||
def slugify(input : str) -> str:
|
||||
s = input.lower()
|
||||
@@ -29,3 +31,47 @@ def get_display_address(num_bars : int) -> str:
|
||||
raise ValueError("Can't have a display with this number of bars")
|
||||
|
||||
return 0x23 - num_bars
|
||||
|
||||
def string_to_click_type(ct:str) -> ClickType:
|
||||
if ct == "single":
|
||||
return ClickType.SINGLE
|
||||
elif ct == "double":
|
||||
return ClickType.DOUBLE
|
||||
elif ct == "triple":
|
||||
return ClickType.TRIPLE
|
||||
elif ct == "hold":
|
||||
return ClickType.HOLD
|
||||
|
||||
def list_to_click_type(str_list:List[str]) -> List[ClickType]:
|
||||
ct_list: List[ClickType] = []
|
||||
|
||||
for ct in str_list:
|
||||
ct_list.append(string_to_click_type(ct))
|
||||
|
||||
return ct_list
|
||||
|
||||
def click_type_color(ct: ClickType) -> Color:
|
||||
|
||||
if(ct is ClickType.SINGLE):
|
||||
return Color("#00FF00")
|
||||
elif(ct is ClickType.DOUBLE):
|
||||
return Color("#0000FF")
|
||||
elif(ct is ClickType.TRIPLE):
|
||||
return Color("#FF0000")
|
||||
elif(ct is ClickType.HOLD):
|
||||
return Color("#FF00FF")
|
||||
|
||||
return Color("#FFFFFF")
|
||||
|
||||
def click_type_timing(ct: ClickType) -> List[str]:
|
||||
|
||||
if(ct is ClickType.SINGLE):
|
||||
return TIMING_SINGLE_CLICK
|
||||
elif(ct is ClickType.DOUBLE):
|
||||
return TIMING_DOUBLE_CLICK
|
||||
elif(ct is ClickType.TRIPLE):
|
||||
return TIMING_TRIPLE_CLICK
|
||||
elif(ct is ClickType.HOLD):
|
||||
return TIMING_HOLD_CLICK
|
||||
|
||||
return TIMING_SINGLE_CLICK
|
||||
Reference in New Issue
Block a user