import board import json from supervisor import runtime import oled from serial_conn import Client # Do not reload the application when the files are changed runtime.autoreload = False # Initialize the BEPO layout import kmk.handlers.stock as handlers from kmk import keys keys.KC.clear() keys.KEY_GENERATORS=( #keys.maybe_make_argumented_key( # key_seq_sleep_validator, # ('MACRO_SLEEP_MS', 'SLEEP_IN_SEQ'), # on_press=handlers.sleep_pressed, #), keys.maybe_make_no_key, ) KC=keys.KC import kmk_frnb from kmk.kmk_keyboard import KMKKeyboard keyboard = KMKKeyboard() import layout layout.set_keyboard(keyboard) oled.main(keyboard) import json_layer def load_json(file): with open(file, "r") as conf: file_data = conf.read() key_layer = json_layer.Layer() json_data = json.loads(file_data.strip()) key_layer.load(json_data) return key_layer from kmk.modules.macros import Macros from kmk.modules.mouse_keys import MouseKeys # Create the first layer in the keyboard. The object will be reused later when # receiving commands from the serial connection. layer = load_json("ff.json") keyboard.keymap = [ layer ] keyboard.modules = [ Macros(), Client(), MouseKeys(), ] if __name__ == '__main__': keyboard.go()