Kommentare & Farben
This commit is contained in:
parent
edef2aedb1
commit
f9ef3df8c9
|
@ -22,14 +22,9 @@ layout = KeyboardLayoutUS(keyboard)
|
|||
# Set up consumer control (used to send media key presses)
|
||||
consumer_control = ConsumerControl(usb_hid.devices)
|
||||
|
||||
# Our layers. The key of item in the layer dictionary is the key number on
|
||||
# Keybow to map to, and the value is the key press to send.
|
||||
|
||||
# Note that keys 0-3 are reserved as the modifier and layer selector keys
|
||||
# respectively.
|
||||
|
||||
# Denfiniere Layer als Dictionary
|
||||
layer_0 = {}
|
||||
|
||||
layer_1 = {4: Keycode.PERIOD,
|
||||
5: Keycode.ONE,
|
||||
6: Keycode.FOUR,
|
||||
|
@ -42,38 +37,41 @@ layer_1 = {4: Keycode.PERIOD,
|
|||
13: Keycode.THREE,
|
||||
14: Keycode.SIX,
|
||||
15: Keycode.NINE}
|
||||
|
||||
layer_2 = {4: "Mit freundlichen Gruessen\nMichael Grote "
|
||||
}
|
||||
|
||||
layer_3 = {6: ConsumerControlCode.VOLUME_DECREMENT,
|
||||
7: ConsumerControlCode.SCAN_PREVIOUS_TRACK,
|
||||
10: ConsumerControlCode.MUTE,
|
||||
11: ConsumerControlCode.PLAY_PAUSE,
|
||||
14: ConsumerControlCode.VOLUME_INCREMENT,
|
||||
15: ConsumerControlCode.SCAN_NEXT_TRACK}
|
||||
|
||||
layers = {0: layer_0,
|
||||
1: layer_1,
|
||||
2: layer_2,
|
||||
3: layer_3}
|
||||
|
||||
# welches ist der aktive Layer
|
||||
current_layer = 1
|
||||
# weclche Tasten dienen nicht der Layer-Auswahl
|
||||
nutzbare_tasten = range(4,16) #zählt von 1-16; nicht 0-15
|
||||
# Debounce-Werte
|
||||
short_debounce = 0.03
|
||||
long_debounce = 0.15
|
||||
debounce = short_debounce
|
||||
taste_ausgelöst = False
|
||||
|
||||
# The colours for each layer
|
||||
# Farben der Layer als Dictionary
|
||||
# https://gist.github.com/ninrod/b0f86d77ebadaccf7d9d4431dd8e2983
|
||||
# https://colorhunt.co/palette/f7fd04f9b208f98404fc5404
|
||||
|
||||
# setze farben auf layer keys
|
||||
keybow.keys[0].set_led(247, 253, 4)
|
||||
keybow.keys[1].set_led(249, 178, 8)
|
||||
keybow.keys[2].set_led(249, 132, 4)
|
||||
keybow.keys[3].set_led(252, 84, 4)
|
||||
colours = {0: (247, 253, 4),
|
||||
1: (249, 178, 8),
|
||||
2: (249, 132, 4),
|
||||
3: (252, 84, 4)}
|
||||
# setze farben auf layer keys und den nutzbaren tasten nach dem start
|
||||
keybow.keys[0].set_led(*colours[0])
|
||||
keybow.keys[1].set_led(*colours[1])
|
||||
keybow.keys[2].set_led(*colours[2])
|
||||
keybow.keys[3].set_led(*colours[3])
|
||||
for n in nutzbare_tasten:
|
||||
keybow.keys[n].set_led(255,155,255)
|
||||
|
||||
|
@ -81,50 +79,52 @@ while True:
|
|||
# Always remember to call keybow.update()!
|
||||
keybow.update()
|
||||
|
||||
|
||||
# wenn layer-auswahl key gedrückt dann..
|
||||
if keys[0].pressed:
|
||||
# setze current layer
|
||||
current_layer = 0
|
||||
# färben zum layer gehörende tasten ein
|
||||
for n in nutzbare_tasten:
|
||||
keybow.keys[n].set_led(247, 253, 4)
|
||||
keybow.keys[0].set_led(247, 253, 4)
|
||||
keybow.keys[n].set_led(*colours[current_layer])
|
||||
keybow.keys[0].set_led(*colours[current_layer])
|
||||
keybow.keys[1].set_led(255, 255, 255)
|
||||
keybow.keys[2].set_led(255, 255, 255)
|
||||
keybow.keys[3].set_led(255, 255, 255)
|
||||
elif keys[1].pressed:
|
||||
current_layer = 1
|
||||
for n in nutzbare_tasten:
|
||||
keybow.keys[n].set_led(249, 178, 8)
|
||||
keybow.keys[n].set_led(*colours[current_layer])
|
||||
keybow.keys[0].set_led(255, 255, 255)
|
||||
keybow.keys[1].set_led(249, 178, 8)
|
||||
keybow.keys[1].set_led(*colours[current_layer])
|
||||
keybow.keys[2].set_led(255, 255, 255)
|
||||
keybow.keys[3].set_led(255, 255, 255)
|
||||
elif keys[2].pressed:
|
||||
current_layer = 2
|
||||
for n in nutzbare_tasten:
|
||||
keybow.keys[n].set_led(249, 132, 4)
|
||||
keybow.keys[n].set_led(*colours[current_layer])
|
||||
keybow.keys[0].set_led(255, 255, 255)
|
||||
keybow.keys[1].set_led(255, 255, 255)
|
||||
keybow.keys[2].set_led(249, 132, 4)
|
||||
keybow.keys[2].set_led(*colours[current_layer])
|
||||
keybow.keys[3].set_led(255, 255, 255)
|
||||
elif keys[3].pressed:
|
||||
current_layer = 3
|
||||
for n in nutzbare_tasten:
|
||||
keybow.keys[n].set_led(252, 84, 4)
|
||||
keybow.keys[n].set_led(*colours[current_layer])
|
||||
keybow.keys[0].set_led(255, 255, 255)
|
||||
keybow.keys[1].set_led(255, 255, 255)
|
||||
keybow.keys[2].set_led(255, 255, 255)
|
||||
keybow.keys[3].set_led(252, 84, 4)
|
||||
keybow.keys[3].set_led(*colours[current_layer])
|
||||
|
||||
# "frage" alle tasten ab
|
||||
for taste in layers[current_layer].keys():
|
||||
|
||||
# wenn gedrückt
|
||||
if keys[taste].pressed:
|
||||
# setze keycode
|
||||
key_press = layers[current_layer][taste]
|
||||
|
||||
# If the key hasn't just fired (prevents refiring)
|
||||
# prufe ob taste vor kurzem ausgelöst wurde
|
||||
if not taste_ausgelöst:
|
||||
taste_ausgelöst = True
|
||||
|
||||
# Send the right sort of key press and set debounce for each
|
||||
# prüfe layer wegen debounce und "sende"-art
|
||||
if current_layer == 0:
|
||||
keyboard.send(key_press)
|
||||
elif current_layer == 1:
|
||||
|
@ -134,10 +134,6 @@ while True:
|
|||
layout.write(key_press)
|
||||
elif current_layer == 3:
|
||||
consumer_control.send(key_press)
|
||||
|
||||
|
||||
|
||||
# If enough time has passed, reset the fired variable
|
||||
# hebe "debounce" auf
|
||||
if taste_ausgelöst and time.monotonic() - keybow.time_of_last_press > debounce:
|
||||
taste_ausgelöst = False
|
||||
# farben als vars
|
||||
|
|
Loading…
Reference in New Issue