I may (ok definitely) have been thinking a bit to deeply on this, and I realized that I was technically right about not being able to disable the decorations… but effectively wrong because the code inside the decorators can be disabled by checking the layer variable
four tweaks in the OBS code.py file
config = [
{}, # 0 <-- this line changed
{"hue": hue["yellow"] , "group": "scene", "keycodes_on": [Keycode.F14], "keycodes_off": None }, # 1
...
for i in range(16): # there are three lines that have this text
for i in range(1, 16) # replace them all with this text (keep the same indent)
...
def press_kcs(kcs): # original file line
If( current_layer == 2 ): # add new line below original
print(f'keycode press {kcs} {KC_LIVE}') # Indent the rest of the block 1 level (block end at next blank line)
...
def release_kcs(kcs): # original file line
If( current_layer == 2 ): # add new line below original
print(f'keycode release {kcs} {KC_LIVE}') # Indent the rest of the block 1 level (block end at next blank line)
then copy everything above
# Main loop
while True:
into the “advanced” example, above
while True:
# Always remember to call keybow.update()!
keybow.update()
and make sure to move any lines that start with “import” up to the top with the other “import” lines (and remove any duplicates)
copy everything from the OBS file below
keybow.update()
to the following position in the “advanced” example
elif current_layer == 2: # Original line, no changes
# Replace anything between the original lines with what you just copied, and add 3 indent levels to everthing pasted
elif current_layer == 3: # Original line, no changes
and one tweak in the advanced file, replace all of this…
layer_2 = {7: "pack ",
11: "my ",
15: "box ",
6: "with ",
10: "five ",
14: "dozen ",
5: "liquor ",
9: "jugs "}
with this
layer_2 = {} #use config for the OBS layer
and that hack should work, and even preserve the lighting and toggles of the “OBS” file
the only downside is that you’ll lose the 0 key from the “OBS” file (you can rearrange them to keep the 15 you want), because the “advanced” example needs it to switch layers, unless as mentioned in previous post you set up the user key for layer switching, which will require several more edits to the “advanced” example, but does open up the possibility to use all 16 main keys for macros
ETA:
yes, I nerd-sniped myself, also, here’s links to the repositories being used for anyone else that comes along and is curious
PMK/hid-keys-advanced example
rpico_rgb_keypad_obs