diff --git a/layouts.py b/layouts.py index 67f68665..75e9bf32 100755 --- a/layouts.py +++ b/layouts.py @@ -80,6 +80,9 @@ 'MO(2)': 'LAYER_ACCESS_3', 'MO(3)': 'LAYER_ACCESS_4', } +EC_MAPPING = { + 'INT_1': 'NONUS_BSLASH', +} QMK_EXTRA_SCANCODES = [ "TG(0)", "TG(1)", @@ -130,7 +133,7 @@ def extract_scancodes(ecdir: str, board: str, is_qmk: bool, has_brightness: bool common_keymap_h = open(includes[0]).read() scancode_defines = re.findall( '#define.*((?:K_\S+)|(?:KT_FN))', common_keymap_h) - mapping = {} + mapping = EC_MAPPING tmpdir = tempfile.mkdtemp() with open(f'{tmpdir}/keysym-extract.c', 'w') as f: @@ -157,8 +160,7 @@ def extract_scancodes(ecdir: str, board: str, is_qmk: bool, has_brightness: bool for name in scancode_defines: if '_' in name and name.split('_')[0] != 'RGB': name = name.split('_', 1)[1] - if is_qmk: - name = mapping.get(name, name) + name = mapping.get(name, name) scancode_names.append(name) scancode_list = OrderedDict(zip(scancode_names, scancodes)) @@ -167,7 +169,11 @@ def extract_scancodes(ecdir: str, board: str, is_qmk: bool, has_brightness: bool else: scancode_list['NONE'] = 0x0000 - excluded_scancodes = ['INT_1', 'INT_2'] + # INT_2 has same PS/2 scancode as BACKSLASH + excluded_scancodes = ['INT_2'] + # Need new firmware to support; omit for now + if not is_qmk: + excluded_scancodes += ['SCROLL_LOCK', 'PAUSE'] if has_color or board == 'system76/bonw14': excluded_scancodes += ['KBD_BKL'] elif has_brightness: @@ -223,9 +229,7 @@ def scancode_map(x: int, code: str) -> str: return 'NONE' code = code.replace('K_', '').replace('KC_', '').replace('KT_', '') - - if is_qmk: - code = mapping.get(code, code) + code = mapping.get(code, code) return code diff --git a/layouts/keyboards/system76/14in_83/keymap.json b/layouts/keyboards/system76/14in_83/keymap.json index 238184ca..e02a199a 100644 --- a/layouts/keyboards/system76/14in_83/keymap.json +++ b/layouts/keyboards/system76/14in_83/keymap.json @@ -121,5 +121,6 @@ "NUM_7": 108, "NUM_8": 117, "NUM_9": 125, + "NONUS_BSLASH": 97, "NONE": 0 } \ No newline at end of file diff --git a/layouts/keyboards/system76/14in_86/keymap.json b/layouts/keyboards/system76/14in_86/keymap.json index 238184ca..e02a199a 100644 --- a/layouts/keyboards/system76/14in_86/keymap.json +++ b/layouts/keyboards/system76/14in_86/keymap.json @@ -121,5 +121,6 @@ "NUM_7": 108, "NUM_8": 117, "NUM_9": 125, + "NONUS_BSLASH": 97, "NONE": 0 } \ No newline at end of file diff --git a/layouts/keyboards/system76/15in_102/keymap.json b/layouts/keyboards/system76/15in_102/keymap.json index 8053bc62..fccec3d3 100644 --- a/layouts/keyboards/system76/15in_102/keymap.json +++ b/layouts/keyboards/system76/15in_102/keymap.json @@ -121,5 +121,6 @@ "NUM_7": 108, "NUM_8": 117, "NUM_9": 125, + "NONUS_BSLASH": 97, "NONE": 0 } \ No newline at end of file diff --git a/layouts/keyboards/system76/15in_102_nkey/keymap.json b/layouts/keyboards/system76/15in_102_nkey/keymap.json index 8053bc62..fccec3d3 100644 --- a/layouts/keyboards/system76/15in_102_nkey/keymap.json +++ b/layouts/keyboards/system76/15in_102_nkey/keymap.json @@ -121,5 +121,6 @@ "NUM_7": 108, "NUM_8": 117, "NUM_9": 125, + "NONUS_BSLASH": 97, "NONE": 0 } \ No newline at end of file diff --git a/layouts/system76/gaze15/meta.json b/layouts/system76/gaze15/meta.json index 02dde204..4b7a0588 100644 --- a/layouts/system76/gaze15/meta.json +++ b/layouts/system76/gaze15/meta.json @@ -4,4 +4,4 @@ "has_color": true, "pressed_color": "#dfdfdf", "keyboard": "system76/15in_102" -} +} \ No newline at end of file