diff --git a/keyboards/handwired/hillside/48/keymaps/json2hill48.py b/keyboards/handwired/hillside/48/keymaps/json2hill48.py deleted file mode 100755 index c4fb5b1037d..00000000000 --- a/keyboards/handwired/hillside/48/keymaps/json2hill48.py +++ /dev/null @@ -1,146 +0,0 @@ -#!/usr/bin/env python3 - -# Copyright 2020-2022 Pierre Viseu Chevalier, Michael McCoyd (@pierrechevalier83, @mmccoyd) -# SPDX-License-Identifier: GPL-2.0-or-later - -"""Pretty print keymap json in more readable row/side organized format, based on ROW_SIZES.""" - -import argparse -import json -import sys -from typing import NamedTuple - -"""Print keymap json in row and side format, though as still re-readable json. - -For example, for one layer: - - ["KC_TAB" , "KC_Q" , "KC_W" , "KC_E" , "KC_R" , "KC_T", - "KC_Y" , "KC_U" , "KC_I" , "KC_O" , "KC_P" , "KC_BSPC", - - "KC_LCTL", "KC_A" , "KC_S" , "KC_D" , "KC_F" , "KC_G", - "KC_H" , "KC_J" , "KC_K" , "KC_L" , "KC_SCLN", "KC_QUOT", - - "KC_LSFT", "KC_Z" , "KC_X" , "KC_C" , "KC_V" , "KC_B" , "KC_GRV", - "KC_ESC" , "KC_N" , "KC_M" , "KC_COMM", "KC_DOT" , "KC_SLSH", "KC_RSFT", - - "KC_ENT" , "KC_LGUI", "KC_LALT", "MO(5)" , "MO(3)", - "MO(4)" , "KC_SPC" , "KC_LALT", "KC_RGUI", "KC_APP" - ], -""" - -# The structure of the keymap. Tuples describing row sizes. -# ( ) -ROW_SIZES = [(24, 6), - (38, 7), - (48, 5), - ] - -### -### Below here should not need to changed for different keyboards -### - -LAST_KEY = ROW_SIZES[-1][0] - 1 - -indent_level=4 # number of spaces of initial indent per output line - -def parse_cli(): - parser = argparse.ArgumentParser(description='Hillside keymap formatter') - parser.add_argument("--input", type=argparse.FileType('r'), - default=sys.stdin, help="Input keymap " - "(json file produced by qmk configurator)") - return parser.parse_args() - -class Column(NamedTuple): - """Column number within keymap side, if it ends side, and ends row. - - Position within a keyboard row runs from 0 to n and again 0 to n""" - num: int - ends_side: bool - ends_row: bool - -def get_col(key_index): - """Return Column for key_index.""" - index_prior = 0 # index of last key in rows of the prior size - for keys_upto, num_cols in ROW_SIZES: # For row sizes from top - if key_index < keys_upto: # Find range key_index is in - col_num = (key_index - index_prior) % num_cols - return Column(col_num, # Return column plus side and row ends flags - ends_side=col_num == num_cols - 1, - ends_row=(keys_upto - 1 - key_index) % - (2 * num_cols) == 0) - index_prior = keys_upto # Big O: row ranges * keys, but range is small - -def format_layers(layers): - formatted = indent_level * " " + "\"layers\": [\n" - - # Find max key length per column - max_key_length = {} - for layer in layers: - for (index, keycode) in enumerate(layer): - col = get_col(index) - max_length = max_key_length.get(col.num) - if (not max_length) or len(keycode) > max_length: - max_key_length.update({col.num: len(keycode)}) - # Format each layer - for (layer_index, layer) in enumerate(layers): - # Opening [ - formatted += 2 * indent_level * " " - formatted += "[" - - # Split keys into pairs of left and right rows by key row length - for (index, keycode) in enumerate(layer): - col = get_col(index) - - # Indent for rows past first - if col.num == 0 and index != 0: - formatted += (1 + 2 * indent_level) * " " - - # Print key - formatted += json.dumps(keycode) - - # End layer, or end side, or space to next key - if index == LAST_KEY: - formatted += "\n" - elif col.ends_side: - formatted += ",\n" - else: - n_spaces = max_key_length[get_col(index).num] - len(keycode) - formatted += n_spaces * " " - formatted += ", " - - # Split groups of row sides - if col.ends_row: - formatted += "\n" - - # Closing ] with , or without - formatted += 2 * indent_level * " " - if layer_index < len(layers) - 1: - formatted += "],\n" - else: - formatted += "]\n" - - formatted += indent_level * " " - formatted += "]" - - return formatted - -def format_keymap(keymap_json): - formatted = "{" - for (index, k) in enumerate(keymap_json): - if k == "layers": - formatted += format_layers(keymap_json[k]) - else: - formatted += f"{indent_level * ' '}{json.dumps(k)}: {json.dumps(keymap_json[k])}" - if index < len(keymap_json) - 1: - formatted += "," - formatted += "\n" - formatted += "}" - return formatted - -def main(): - args=parse_cli() - keymap_json = json.loads(args.input.read()) - print(format_keymap(keymap_json)) - -if __name__ == "__main__": - main() diff --git a/keyboards/handwired/hillside/readme.md b/keyboards/handwired/hillside/readme.md deleted file mode 100644 index b2ea11d4200..00000000000 --- a/keyboards/handwired/hillside/readme.md +++ /dev/null @@ -1,14 +0,0 @@ -# Hillside - -![hillside](https://imgur.com/4POduewh.png) - -[Hillside](https://github.com/mmccoyd/hillside) - is a small family of split ergonomic keyboards. -Inside this directory is support for the two smaller models, - the 52 and 48. - -* Keyboard Maintainer: [Michael McCoyd](https://github.com/mmccoyd) -* Hardware Supported: - * [Hillside 52](https://github.com/qmk/qmk_firmware/blob/master/keyboards/handwired/hillside/52): ProMicro/Elite-C and compatible - * [Hillside 48](https://github.com/qmk/qmk_firmware/blob/master/keyboards/handwired/hillside/48): ProMicro/Elite-C and compatible -* Hardware Availability: [https://github.com/mmccoyd/hillside](https://github.com/mmccoyd/hillside) diff --git a/keyboards/handwired/hillside/46/46.c b/keyboards/hillside/46/0_1/0_1.c similarity index 95% rename from keyboards/handwired/hillside/46/46.c rename to keyboards/hillside/46/0_1/0_1.c index 9a3bd3abc89..d9580568015 100644 --- a/keyboards/handwired/hillside/46/46.c +++ b/keyboards/hillside/46/0_1/0_1.c @@ -1,7 +1,7 @@ // Copyright 2022 Michael McCoyd (@mmccoyd) // SPDX-License-Identifier: GPL-2.0-or-later -#include "46.h" +#include "0_1.h" // Keymatrix spots to ignore, as one signals handedness and others have no key const matrix_row_t matrix_mask[] = { diff --git a/keyboards/handwired/hillside/46/46.h b/keyboards/hillside/46/0_1/0_1.h similarity index 100% rename from keyboards/handwired/hillside/46/46.h rename to keyboards/hillside/46/0_1/0_1.h diff --git a/keyboards/handwired/hillside/46/config.h b/keyboards/hillside/46/0_1/config.h similarity index 100% rename from keyboards/handwired/hillside/46/config.h rename to keyboards/hillside/46/0_1/config.h diff --git a/keyboards/hillside/46/0_1/info.json b/keyboards/hillside/46/0_1/info.json new file mode 100644 index 00000000000..29a23aad809 --- /dev/null +++ b/keyboards/hillside/46/0_1/info.json @@ -0,0 +1,34 @@ +{ + "processor": "atmega32u4", + "bootloader": "atmel-dfu", + + "matrix_pins": { + "rows": ["C6", "D7", "E6", "B5"], + "cols": ["F6", "F7", "B1", "B3", "B2", "B6"] + }, + "diode_direction": "COL2ROW", + + "usb": { + "vid": "0x4D4D", + "pid": "0x4846", + "device_version": "0.0.1" + }, + + "features": { + "encoder": true, + "extrakey": true, + "rgblight": true + }, + "split": { + "soft_serial_pin": "D2" + }, + + "rgblight": { + "led_count": 4, + "pin": "D3", + "split": true, + "hue_steps": 8, + "saturation_steps": 8, + "brightness_steps": 8 + } +} diff --git a/keyboards/handwired/hillside/46/rules.mk b/keyboards/hillside/46/0_1/rules.mk similarity index 100% rename from keyboards/handwired/hillside/46/rules.mk rename to keyboards/hillside/46/0_1/rules.mk diff --git a/keyboards/handwired/hillside/46/info.json b/keyboards/hillside/46/info.json similarity index 81% rename from keyboards/handwired/hillside/46/info.json rename to keyboards/hillside/46/info.json index 9c69b54d7b2..5af9add00fa 100644 --- a/keyboards/handwired/hillside/46/info.json +++ b/keyboards/hillside/46/info.json @@ -7,39 +7,6 @@ "tags": ["split", "column stagger", "choc v1", "choc spaced" ], - "processor": "atmega32u4", - "bootloader": "atmel-dfu", - - "matrix_pins": { - "rows": ["C6", "D7", "E6", "B5"], - "cols": ["F6", "F7", "B1", "B3", "B2", "B6"] - }, - "diode_direction": "COL2ROW", - - "usb": { - "vid": "0x4D4D", - "pid": "0x4846", - "device_version": "0.0.1" - }, - - "features": { - "encoder": true, - "extrakey": true, - "rgblight": true - }, - "split": { - "soft_serial_pin": "D2" - }, - - "rgblight": { - "led_count": 4, - "pin": "D3", - "split": true, - "hue_steps": 8, - "saturation_steps": 8, - "brightness_steps": 8 - }, - "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/handwired/hillside/46/keymaps/default/config.h b/keyboards/hillside/46/keymaps/default/config.h similarity index 100% rename from keyboards/handwired/hillside/46/keymaps/default/config.h rename to keyboards/hillside/46/keymaps/default/config.h diff --git a/keyboards/handwired/hillside/46/keymaps/default/keymap.json b/keyboards/hillside/46/keymaps/default/keymap.json similarity index 99% rename from keyboards/handwired/hillside/46/keymaps/default/keymap.json rename to keyboards/hillside/46/keymaps/default/keymap.json index f5171564d18..b24aafa32ba 100644 --- a/keyboards/handwired/hillside/46/keymaps/default/keymap.json +++ b/keyboards/hillside/46/keymaps/default/keymap.json @@ -1,7 +1,7 @@ { "version": 1, "notes": "", "documentation": "\"This file is a QMK Configurator export. You can import this at . It can also be used directly with QMK's source code.\n\nTo setup your QMK environment check out the tutorial: \n\nYou can convert this file to a keymap.c using this command: `qmk json2c {keymap}`\n\nYou can compile this keymap using this command: `qmk compile {keymap}`\"\n", - "keyboard": "handwired/hillside/46", + "keyboard": "hillside/46", "keymap": "default", "layout": "LAYOUT", "layers": [ diff --git a/keyboards/handwired/hillside/46/keymaps/default/readme.md b/keyboards/hillside/46/keymaps/default/readme.md similarity index 96% rename from keyboards/handwired/hillside/46/keymaps/default/readme.md rename to keyboards/hillside/46/keymaps/default/readme.md index aacdc92aadc..64356ebaa73 100644 --- a/keyboards/handwired/hillside/46/keymaps/default/readme.md +++ b/keyboards/hillside/46/keymaps/default/readme.md @@ -1,6 +1,6 @@ # Hillside 46 Default Keymap -For easier initial use, this keymap follows the layout of more standard keyboards where possible. It is a starting point for you to tweak over time to suit your preferences better. You can easily customize it with the [QMK configurator](https://config.qmk.fm/#/handwired/hillside/46/LAYOUT). +For easier initial use, this keymap follows the layout of more standard keyboards where possible. It is a starting point for you to tweak over time to suit your preferences better. You can easily customize it with the [QMK configurator](https://config.qmk.fm/#/hillside/46/LAYOUT). Some of its key features are: @@ -76,7 +76,7 @@ If you are coming from a traditional keyboard, This default layout tries to simplify that adjustment by keeping things in the expected spots when possible. Yet this layout is only a decent compromise and is not optimal for each user. -The online configurator makes it easy to tweak this layout to your needs. +The online [configurator](https://config.qmk.fm/#/hillside/46/LAYOUT) makes it easy to tweak this layout to your needs. You can add additional layers or completely switch around what these do. A good metaphor is to think of your keymap as a bonsai tree that you tweak slightly over time @@ -110,8 +110,8 @@ If you wish, you can edit the ```keymap.json``` directly in a text editor, comp Or, you can use the graphical configurator to edit the keymap. To do that: -- Open the [QMK configurator](https://config.qmk.fm/#/handwired/hillside/46/LAYOUT) -- Using the green up arrow button, load the keymap from ```qmk_firmware/keyboards/handwired/hillside/46/keymaps/default/keymap.json``` +- Open the [QMK configurator](https://config.qmk.fm/#/hillside/46/LAYOUT) +- Using the green up arrow button, load the keymap from ```qmk_firmware/keyboards/hillside/46/keymaps/default/keymap.json``` - Make the changes you wish to the layout - Save the keymap using the green down arrow button. - Move the downloaded keymap back into your QMK repository diff --git a/keyboards/handwired/hillside/46/keymaps/default/rules.mk b/keyboards/hillside/46/keymaps/default/rules.mk similarity index 100% rename from keyboards/handwired/hillside/46/keymaps/default/rules.mk rename to keyboards/hillside/46/keymaps/default/rules.mk diff --git a/keyboards/handwired/hillside/46/keymaps/default_dot_c/config.h b/keyboards/hillside/46/keymaps/default_dot_c/config.h similarity index 100% rename from keyboards/handwired/hillside/46/keymaps/default_dot_c/config.h rename to keyboards/hillside/46/keymaps/default_dot_c/config.h diff --git a/keyboards/handwired/hillside/46/keymaps/default_dot_c/keymap.c b/keyboards/hillside/46/keymaps/default_dot_c/keymap.c similarity index 100% rename from keyboards/handwired/hillside/46/keymaps/default_dot_c/keymap.c rename to keyboards/hillside/46/keymaps/default_dot_c/keymap.c diff --git a/keyboards/handwired/hillside/46/keymaps/default_dot_c/readme.md b/keyboards/hillside/46/keymaps/default_dot_c/readme.md similarity index 82% rename from keyboards/handwired/hillside/46/keymaps/default_dot_c/readme.md rename to keyboards/hillside/46/keymaps/default_dot_c/readme.md index 564691d6112..713a4f383b5 100644 --- a/keyboards/handwired/hillside/46/keymaps/default_dot_c/readme.md +++ b/keyboards/hillside/46/keymaps/default_dot_c/readme.md @@ -2,14 +2,14 @@ This layout is for those who prefer defining their layout in a keymap.c, instead of graphically with a keymap.json. -It is the same as the [default keymap.json layout](https://github.com/qmk/qmk_firmware/blob/master/keyboards/handwired/hillside/46/keymaps/default), +It is the same as the [default keymap.json layout](https://github.com/qmk/qmk_firmware/blob/master/keyboards/hillside/46/keymaps/default), except for having only a QWERTY base layer. The make and flash commands are ``` -make handwired/hillside/46:default_dot_c -make handwired/hillside/46:default_doc_c:flash +make hillside/46:default_dot_c +make hillside/46:default_doc_c:flash ``` diff --git a/keyboards/handwired/hillside/46/keymaps/default_dot_c/rules.mk b/keyboards/hillside/46/keymaps/default_dot_c/rules.mk similarity index 100% rename from keyboards/handwired/hillside/46/keymaps/default_dot_c/rules.mk rename to keyboards/hillside/46/keymaps/default_dot_c/rules.mk diff --git a/keyboards/handwired/hillside/46/keymaps/manna-harbour_miryoku/config.h b/keyboards/hillside/46/keymaps/manna-harbour_miryoku/config.h similarity index 100% rename from keyboards/handwired/hillside/46/keymaps/manna-harbour_miryoku/config.h rename to keyboards/hillside/46/keymaps/manna-harbour_miryoku/config.h diff --git a/keyboards/handwired/hillside/46/keymaps/manna-harbour_miryoku/keymap.c b/keyboards/hillside/46/keymaps/manna-harbour_miryoku/keymap.c similarity index 100% rename from keyboards/handwired/hillside/46/keymaps/manna-harbour_miryoku/keymap.c rename to keyboards/hillside/46/keymaps/manna-harbour_miryoku/keymap.c diff --git a/keyboards/handwired/hillside/46/keymaps/via/keymap.c b/keyboards/hillside/46/keymaps/via/keymap.c similarity index 100% rename from keyboards/handwired/hillside/46/keymaps/via/keymap.c rename to keyboards/hillside/46/keymaps/via/keymap.c diff --git a/keyboards/handwired/hillside/46/keymaps/via/rules.mk b/keyboards/hillside/46/keymaps/via/rules.mk similarity index 100% rename from keyboards/handwired/hillside/46/keymaps/via/rules.mk rename to keyboards/hillside/46/keymaps/via/rules.mk diff --git a/keyboards/handwired/hillside/46/readme.md b/keyboards/hillside/46/readme.md similarity index 92% rename from keyboards/handwired/hillside/46/readme.md rename to keyboards/hillside/46/readme.md index f1c9483caba..4a029828436 100644 --- a/keyboards/handwired/hillside/46/readme.md +++ b/keyboards/hillside/46/readme.md @@ -13,11 +13,11 @@ Make example for this keyboard (after setting up your build environment): - make handwired/hillside/46:default + make hillside/46/0_1:default Flashing example for this keyboard: - make handwired/hillside/46:default:flash + make hillside/46/0_1:default:flash ## Bootloader diff --git a/keyboards/hillside/46/rules.mk b/keyboards/hillside/46/rules.mk new file mode 100644 index 00000000000..f3e926a8dc0 --- /dev/null +++ b/keyboards/hillside/46/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = hillside/46/0_1 \ No newline at end of file diff --git a/keyboards/handwired/hillside/48/48.c b/keyboards/hillside/48/0_1/0_1.c similarity index 84% rename from keyboards/handwired/hillside/48/48.c rename to keyboards/hillside/48/0_1/0_1.c index a1d2c2f6e44..34659eb424f 100644 --- a/keyboards/handwired/hillside/48/48.c +++ b/keyboards/hillside/48/0_1/0_1.c @@ -1,4 +1,4 @@ // Copyright 2022 Michael McCoyd (@mmccoyd) // SPDX-License-Identifier: GPL-2.0-or-later -#include "48.h" +#include "0_1.h" diff --git a/keyboards/handwired/hillside/48/48.h b/keyboards/hillside/48/0_1/0_1.h similarity index 100% rename from keyboards/handwired/hillside/48/48.h rename to keyboards/hillside/48/0_1/0_1.h diff --git a/keyboards/handwired/hillside/48/config.h b/keyboards/hillside/48/0_1/config.h similarity index 100% rename from keyboards/handwired/hillside/48/config.h rename to keyboards/hillside/48/0_1/config.h diff --git a/keyboards/hillside/48/0_1/info.json b/keyboards/hillside/48/0_1/info.json new file mode 100644 index 00000000000..943982d65e7 --- /dev/null +++ b/keyboards/hillside/48/0_1/info.json @@ -0,0 +1,35 @@ +{ + "processor": "atmega32u4", + "bootloader": "atmel-dfu", + + "matrix_pins": { + "rows": ["D7", "E6", "B4", "B5"], + "cols": ["F6", "F7", "B1", "B3", "B2", "B6"] + }, + "diode_direction": "COL2ROW", + + "usb": { + "vid": "0xFEED", + "pid": "0x67C0", + "device_version": "0.0.1" + }, + + "features": { + "encoder": true, + "extrakey": true, + "rgblight": true + }, + "split": { + "soft_serial_pin": "D2", + "main": "left" + }, + + "rgblight": { + "led_count": 5, + "pin": "D3", + "split": true, + "hue_steps": 8, + "saturation_steps": 8, + "brightness_steps": 8 + } +} diff --git a/keyboards/handwired/hillside/48/rules.mk b/keyboards/hillside/48/0_1/rules.mk similarity index 100% rename from keyboards/handwired/hillside/48/rules.mk rename to keyboards/hillside/48/0_1/rules.mk diff --git a/keyboards/handwired/hillside/48/info.json b/keyboards/hillside/48/info.json similarity index 80% rename from keyboards/handwired/hillside/48/info.json rename to keyboards/hillside/48/info.json index 1b6d5a68283..a488671008f 100644 --- a/keyboards/handwired/hillside/48/info.json +++ b/keyboards/hillside/48/info.json @@ -7,40 +7,6 @@ "tags": ["split", "column stagger", "choc v1", "choc spaced" ], - "processor": "atmega32u4", - "bootloader": "atmel-dfu", - - "matrix_pins": { - "rows": ["D7", "E6", "B4", "B5"], - "cols": ["F6", "F7", "B1", "B3", "B2", "B6"] - }, - "diode_direction": "COL2ROW", - - "usb": { - "vid": "0xFEED", - "pid": "0x67C0", - "device_version": "0.0.1" - }, - - "features": { - "encoder": true, - "extrakey": true, - "rgblight": true - }, - "split": { - "soft_serial_pin": "D2", - "main": "left" - }, - - "rgblight": { - "led_count": 5, - "pin": "D3", - "split": true, - "hue_steps": 8, - "saturation_steps": 8, - "brightness_steps": 8 - }, - "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/handwired/hillside/48/keymaps/default/config.h b/keyboards/hillside/48/keymaps/default/config.h similarity index 100% rename from keyboards/handwired/hillside/48/keymaps/default/config.h rename to keyboards/hillside/48/keymaps/default/config.h diff --git a/keyboards/handwired/hillside/48/keymaps/default/keymap.json b/keyboards/hillside/48/keymaps/default/keymap.json similarity index 99% rename from keyboards/handwired/hillside/48/keymaps/default/keymap.json rename to keyboards/hillside/48/keymaps/default/keymap.json index 268fa518398..e5351b5f1af 100644 --- a/keyboards/handwired/hillside/48/keymaps/default/keymap.json +++ b/keyboards/hillside/48/keymaps/default/keymap.json @@ -1,7 +1,7 @@ { "version": 1, "notes": "", "documentation": "\"This file is a QMK Configurator export. You can import this at . It can also be used directly with QMK's source code.\n\nTo setup your QMK environment check out the tutorial: \n\nYou can convert this file to a keymap.c using this command: `qmk json2c {keymap}`\n\nYou can compile this keymap using this command: `qmk compile {keymap}`\"\n", - "keyboard": "handwired/hillside/48", + "keyboard": "hillside/48", "keymap": "default", "layout": "LAYOUT", "layers": [ diff --git a/keyboards/handwired/hillside/48/keymaps/default/readme.md b/keyboards/hillside/48/keymaps/default/readme.md similarity index 84% rename from keyboards/handwired/hillside/48/keymaps/default/readme.md rename to keyboards/hillside/48/keymaps/default/readme.md index 9bf294eff00..bfa720f57a9 100644 --- a/keyboards/handwired/hillside/48/keymaps/default/readme.md +++ b/keyboards/hillside/48/keymaps/default/readme.md @@ -1,8 +1,9 @@ -# Default Keymap +# Hillside 48 Default Keymap -For easier initial use, this keymap follows the layout of more standard keyboards where possible. It is a starting point for you to tweak over time to suit your preferences better. You can easily customize it with the [QMK configurator](https://config.qmk.fm/#/handwired/hillside/48/LAYOUT). +For easier initial use, this keymap follows the layout of more standard keyboards where possible. It is a starting point for you to tweak over time to suit your preferences better. You can easily customize it with the [QMK configurator](https://config.qmk.fm/#/hillside/48/LAYOUT). Some of its key features are: + - Numbers and symbols along the top row of their layers for familiarity. - Comfortable combination of modifier and function or symbol on the non-base layers using modifiers on the home row of the symbol and number/function layers. @@ -97,20 +98,21 @@ Simultaneously holding down the Sym and Nav/Edit keys enables keys to adjust key ## Make it Yours If you are coming from a traditional keyboard, - with a row-staggered layout and a large set of physical keys, + with a large set of physical keys, learning to use a column staggered (ergo) and layer-based keyboard, which uses layers instead of finger reaches to access numbers, symbols and functions, will be an adjustment for your muscle memory and your mental keyboard map. This default layout tries to simplify that adjustment by keeping things in the expected spots when possible. Yet this layout is only a decent compromise and is not optimal for each user. -The online configurator makes it easy to tweak this layout to your needs. +The online [configurator](https://config.qmk.fm/#/hillside/48/LAYOUT) makes it easy to tweak this layout to your needs. You can add additional layers or completely switch around what these do. A good metaphor is to think of your keymap as a bonsai tree that you tweak slightly over time in response to ideas of how it might serve you better. - + Some changes you might consider making: + - If you are on a mac, switch the editing keys from ctrl-x to cmd-x. - Change the shift keys to one-shot shift keys, where pressing and releasing them shifts the next key pressed. @@ -122,6 +124,7 @@ Some changes you might consider making: You would still be able to hold it down instead. Here are some other keymaps for inspiration and ideas: + - The [Ferris default](https://github.com/qmk/qmk_firmware/tree/master/keyboards/ferris/keymaps/default) uses more advanced features as it has far fewer keys. - The [Miryoku](https://github.com/manna-harbour/miryoku/tree/master/docs/reference) keymap ensures that all modifiers are comfortably available with each character key. - The [Kyria default](https://github.com/qmk/qmk_firmware/tree/master/keyboards/splitkb/kyria/keymaps/default) has different keymap choices and a couple more keys. @@ -130,30 +133,33 @@ Here are some other keymaps for inspiration and ideas: ## Why no keymap.c -The online configurator provides a straightforward visual way to work with a simple layout - and uses a .json keymap format. -So this default ```keymap.json``` was created with the online configurator - and formatted for easier reading and editing. +The online configurator provides a straightforward visual way + to work with a simple layout and uses a .json keymap format. +So this default ```keymap.json``` was created with the online configurator. -If you wish, you can edit the ```keymap.json``` directly in a text editor, optionally use the below ```json2hill48.py``` to restore the spacing, and then compile and flash it. +If you wish, you can edit the ```keymap.json``` directly in a text editor, compile it and flash it. Or, you can use the graphical configurator to edit the keymap. To do that: -- Open the [QMK configurator](https://config.qmk.fm/#/handwired/hillside/48/LAYOUT) -- Using the green up arrow button, load the keymap from ```qmk_firmware/keyboards/handwired/hillside/48/keymaps/default/keymap.json``` +- Open the [QMK configurator](https://config.qmk.fm/#/hillside/48/LAYOUT) +- Using the green up arrow button, load the keymap from ```qmk_firmware/keyboards/hillside/48/keymaps/default/keymap.json``` - Make the changes you wish to the layout - Save the keymap using the green down arrow button. -- Copy those changes back into your QMK repository and reformat for easy reading using the format script: -``` -./keyboards/handwired/hillside/48/keymaps/json2hill48.py \ - --input /default.json \ - > ./keyboards/handwired/hillside/48/keymaps/default/keymap.json -``` - You may need to make that script executable with ```chmod +x```. After your keymap is safely copied and formatted, you may want to remove the keymap from your download directory so later downloads will automatically receive the same file name. +- Move the downloaded keymap back into your QMK repository + at the same location as above. +- Rename it back to keymap.json +- Compile and flash the firmware. -After either method of editing, compile and flash the keymap as usual. - -You can combine a .json based keymap with more advanced features specified in .c files - with a bit more complexity. +You can combine a .json based keymap with more advanced features + specified in .c files with a bit more complexity. For example, see -[pierrec83's Kyria map](https://github.com/qmk/qmk_firmware/tree/master/keyboards/splitkb/kyria/keymaps/pierrec83). \ No newline at end of file + [pierrec83's Kyria map](https://github.com/qmk/qmk_firmware/tree/master/keyboards/splitkb/kyria/keymaps/pierrec83). + +### Pretty Printing + +The QMK configurator's .json download has only one key per line, +so it is hard to visualize the keymap if editing manually. +If you want, the Hillside git repo has a pretty-printing script for the keymap.json file. + +As with anything downloaded from the internet, you should take some steps to assure yourself that the script will not harm your computer nor steal your data. The script is short, so reading it should at least convince you it is rearranging and printing the keymap provided, not reading your banking data. +See the [Hillside wiki](https://github.com/mmccoyd/hillside/wiki) for the script. diff --git a/keyboards/handwired/hillside/48/keymaps/default/rules.mk b/keyboards/hillside/48/keymaps/default/rules.mk similarity index 100% rename from keyboards/handwired/hillside/48/keymaps/default/rules.mk rename to keyboards/hillside/48/keymaps/default/rules.mk diff --git a/keyboards/handwired/hillside/48/keymaps/manna-harbour_miryoku/config.h b/keyboards/hillside/48/keymaps/manna-harbour_miryoku/config.h similarity index 100% rename from keyboards/handwired/hillside/48/keymaps/manna-harbour_miryoku/config.h rename to keyboards/hillside/48/keymaps/manna-harbour_miryoku/config.h diff --git a/keyboards/handwired/hillside/48/keymaps/manna-harbour_miryoku/keymap.c b/keyboards/hillside/48/keymaps/manna-harbour_miryoku/keymap.c similarity index 100% rename from keyboards/handwired/hillside/48/keymaps/manna-harbour_miryoku/keymap.c rename to keyboards/hillside/48/keymaps/manna-harbour_miryoku/keymap.c diff --git a/keyboards/handwired/hillside/48/keymaps/via/keymap.json b/keyboards/hillside/48/keymaps/via/keymap.json similarity index 98% rename from keyboards/handwired/hillside/48/keymaps/via/keymap.json rename to keyboards/hillside/48/keymaps/via/keymap.json index b4848a72ee5..1405f5d2f03 100644 --- a/keyboards/handwired/hillside/48/keymaps/via/keymap.json +++ b/keyboards/hillside/48/keymaps/via/keymap.json @@ -1,6 +1,6 @@ { "version": 1, "notes": "", - "keyboard": "handwired/hillside/48", + "keyboard": "hillside/48", "keymap": "via", "layout": "LAYOUT", "layers": [ diff --git a/keyboards/handwired/hillside/48/readme.md b/keyboards/hillside/48/readme.md similarity index 92% rename from keyboards/handwired/hillside/48/readme.md rename to keyboards/hillside/48/readme.md index e65deed9c86..c23702fdfaf 100644 --- a/keyboards/handwired/hillside/48/readme.md +++ b/keyboards/hillside/48/readme.md @@ -13,11 +13,11 @@ Make example for this keyboard (after setting up your build environment): - make handwired/hillside/48:default + make hillside/48/0_1:default Flashing example for this keyboard: - make handwired/hillside/48:default:flash + make hillside/48/0_1:default:flash ## Bootloader diff --git a/keyboards/hillside/48/rules.mk b/keyboards/hillside/48/rules.mk new file mode 100644 index 00000000000..d8d69d9ec1d --- /dev/null +++ b/keyboards/hillside/48/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = hillside/48/0_1 diff --git a/keyboards/handwired/hillside/52/52.c b/keyboards/hillside/52/0_1/0_1.c similarity index 95% rename from keyboards/handwired/hillside/52/52.c rename to keyboards/hillside/52/0_1/0_1.c index b4d6b4629de..9a9808da8c6 100644 --- a/keyboards/handwired/hillside/52/52.c +++ b/keyboards/hillside/52/0_1/0_1.c @@ -1,7 +1,7 @@ // Copyright 2022 Michael McCoyd (@mmccoyd) // SPDX-License-Identifier: GPL-2.0-or-later -#include "52.h" +#include "0_1.h" // Keymatrix spots to ignore, as one signals handedness and others have no key const matrix_row_t matrix_mask[] = { diff --git a/keyboards/handwired/hillside/52/52.h b/keyboards/hillside/52/0_1/0_1.h similarity index 100% rename from keyboards/handwired/hillside/52/52.h rename to keyboards/hillside/52/0_1/0_1.h diff --git a/keyboards/handwired/hillside/52/config.h b/keyboards/hillside/52/0_1/config.h similarity index 100% rename from keyboards/handwired/hillside/52/config.h rename to keyboards/hillside/52/0_1/config.h diff --git a/keyboards/hillside/52/0_1/info.json b/keyboards/hillside/52/0_1/info.json new file mode 100644 index 00000000000..f5cf4486d5a --- /dev/null +++ b/keyboards/hillside/52/0_1/info.json @@ -0,0 +1,34 @@ +{ + "processor": "atmega32u4", + "bootloader": "atmel-dfu", + + "matrix_pins": { + "rows": ["C6", "D7", "E6", "B4", "B5"], + "cols": ["F6", "F7", "B1", "B3", "B2", "B6"] + }, + "diode_direction": "COL2ROW", + + "usb": { + "vid": "0x4D4D", + "pid": "0x4852", + "device_version": "0.0.1" + }, + + "features": { + "encoder": true, + "extrakey": true, + "rgblight": true + }, + "split": { + "soft_serial_pin": "D2" + }, + + "rgblight": { + "led_count": 5, + "pin": "D3", + "split": true, + "hue_steps": 8, + "saturation_steps": 8, + "brightness_steps": 8 + } +} diff --git a/keyboards/handwired/hillside/52/rules.mk b/keyboards/hillside/52/0_1/rules.mk similarity index 100% rename from keyboards/handwired/hillside/52/rules.mk rename to keyboards/hillside/52/0_1/rules.mk diff --git a/keyboards/handwired/hillside/52/info.json b/keyboards/hillside/52/info.json similarity index 82% rename from keyboards/handwired/hillside/52/info.json rename to keyboards/hillside/52/info.json index 107162024cc..0f2dad336e1 100644 --- a/keyboards/handwired/hillside/52/info.json +++ b/keyboards/hillside/52/info.json @@ -7,39 +7,6 @@ "tags": ["split", "column stagger", "choc v1", "choc spaced" ], - "processor": "atmega32u4", - "bootloader": "atmel-dfu", - - "matrix_pins": { - "rows": ["C6", "D7", "E6", "B4", "B5"], - "cols": ["F6", "F7", "B1", "B3", "B2", "B6"] - }, - "diode_direction": "COL2ROW", - - "usb": { - "vid": "0x4D4D", - "pid": "0x4852", - "device_version": "0.0.1" - }, - - "features": { - "encoder": true, - "extrakey": true, - "rgblight": true - }, - "split": { - "soft_serial_pin": "D2" - }, - - "rgblight": { - "led_count": 5, - "pin": "D3", - "split": true, - "hue_steps": 8, - "saturation_steps": 8, - "brightness_steps": 8 - }, - "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/handwired/hillside/52/keymaps/default/config.h b/keyboards/hillside/52/keymaps/default/config.h similarity index 100% rename from keyboards/handwired/hillside/52/keymaps/default/config.h rename to keyboards/hillside/52/keymaps/default/config.h diff --git a/keyboards/handwired/hillside/52/keymaps/default/keymap.json b/keyboards/hillside/52/keymaps/default/keymap.json similarity index 99% rename from keyboards/handwired/hillside/52/keymaps/default/keymap.json rename to keyboards/hillside/52/keymaps/default/keymap.json index a49daf6b2cf..0c9853810c9 100644 --- a/keyboards/handwired/hillside/52/keymaps/default/keymap.json +++ b/keyboards/hillside/52/keymaps/default/keymap.json @@ -1,7 +1,7 @@ { "version": 1, "notes": "", "documentation": "\"This file is a QMK Configurator export. You can import this at . It can also be used directly with QMK's source code.\n\nTo setup your QMK environment check out the tutorial: \n\nYou can convert this file to a keymap.c using this command: `qmk json2c {keymap}`\n\nYou can compile this keymap using this command: `qmk compile {keymap}`\"\n", - "keyboard": "handwired/hillside/52", + "keyboard": "hillside/52", "keymap": "default", "layout": "LAYOUT", "layers": [ diff --git a/keyboards/handwired/hillside/52/keymaps/default/readme.md b/keyboards/hillside/52/keymaps/default/readme.md similarity index 96% rename from keyboards/handwired/hillside/52/keymaps/default/readme.md rename to keyboards/hillside/52/keymaps/default/readme.md index 1617b0d4315..cb09d5852d3 100644 --- a/keyboards/handwired/hillside/52/keymaps/default/readme.md +++ b/keyboards/hillside/52/keymaps/default/readme.md @@ -1,6 +1,6 @@ # Hillside 52 Default Keymap -For easier initial use, this keymap follows the layout of more standard keyboards where possible. It is a starting point for you to tweak over time to suit your preferences better. You can easily customize it with the [QMK configurator](https://config.qmk.fm/#/handwired/hillside/52/LAYOUT). +For easier initial use, this keymap follows the layout of more standard keyboards where possible. It is a starting point for you to tweak over time to suit your preferences better. You can easily customize it with the [QMK configurator](https://config.qmk.fm/#/hillside/52/LAYOUT). Some of its key features are: @@ -77,7 +77,7 @@ If you are coming from a traditional keyboard, This default layout tries to simplify that adjustment by keeping things in the expected spots when possible. Yet this layout is only a decent compromise and is not optimal for each user. -The online [configurator](https://config.qmk.fm/#/handwired/hillside/52/LAYOUT) makes it easy to tweak this layout to your needs. +The online [configurator](https://config.qmk.fm/#/hillside/52/LAYOUT) makes it easy to tweak this layout to your needs. You can add additional layers or completely switch around what these do. A good metaphor is to think of your keymap as a bonsai tree that you tweak slightly over time @@ -130,8 +130,8 @@ If you wish, you can edit the ```keymap.json``` directly in a text editor, comp Or, you can use the graphical configurator to edit the keymap. To do that: -- Open the [QMK configurator](https://config.qmk.fm/#/handwired/hillside/52/LAYOUT) -- Using the green up arrow button, load the keymap from ```qmk_firmware/keyboards/handwired/hillside/52/keymaps/default/keymap.json``` +- Open the [QMK configurator](https://config.qmk.fm/#/hillside/52/LAYOUT) +- Using the green up arrow button, load the keymap from ```qmk_firmware/keyboards/hillside/52/keymaps/default/keymap.json``` - Make the changes you wish to the layout - Save the keymap using the green down arrow button. - Move the downloaded keymap back into your QMK repository diff --git a/keyboards/handwired/hillside/52/keymaps/default/rules.mk b/keyboards/hillside/52/keymaps/default/rules.mk similarity index 100% rename from keyboards/handwired/hillside/52/keymaps/default/rules.mk rename to keyboards/hillside/52/keymaps/default/rules.mk diff --git a/keyboards/handwired/hillside/52/keymaps/default_dot_c/config.h b/keyboards/hillside/52/keymaps/default_dot_c/config.h similarity index 100% rename from keyboards/handwired/hillside/52/keymaps/default_dot_c/config.h rename to keyboards/hillside/52/keymaps/default_dot_c/config.h diff --git a/keyboards/handwired/hillside/52/keymaps/default_dot_c/keymap.c b/keyboards/hillside/52/keymaps/default_dot_c/keymap.c similarity index 100% rename from keyboards/handwired/hillside/52/keymaps/default_dot_c/keymap.c rename to keyboards/hillside/52/keymaps/default_dot_c/keymap.c diff --git a/keyboards/handwired/hillside/52/keymaps/default_dot_c/readme.md b/keyboards/hillside/52/keymaps/default_dot_c/readme.md similarity index 82% rename from keyboards/handwired/hillside/52/keymaps/default_dot_c/readme.md rename to keyboards/hillside/52/keymaps/default_dot_c/readme.md index 2963e3452db..f21d13f5f86 100644 --- a/keyboards/handwired/hillside/52/keymaps/default_dot_c/readme.md +++ b/keyboards/hillside/52/keymaps/default_dot_c/readme.md @@ -2,14 +2,14 @@ This layout is for those who prefer defining their layout in a keymap.c, instead of graphically with a keymap.json. -It is the same as the [default keymap.json layout](https://github.com/qmk/qmk_firmware/blob/master/keyboards/handwired/hillside/52/keymaps/default), +It is the same as the [default keymap.json layout](https://github.com/qmk/qmk_firmware/blob/master/keyboards/hillside/52/keymaps/default), except for having only a QWERTY base layer. The make and flash commands are ``` -make handwired/hillside/52:default_dot_c -make handwired/hillside/52:default_doc_c:flash +make hillside/52:default_dot_c +make hillside/52:default_doc_c:flash ``` diff --git a/keyboards/handwired/hillside/52/keymaps/default_dot_c/rules.mk b/keyboards/hillside/52/keymaps/default_dot_c/rules.mk similarity index 100% rename from keyboards/handwired/hillside/52/keymaps/default_dot_c/rules.mk rename to keyboards/hillside/52/keymaps/default_dot_c/rules.mk diff --git a/keyboards/handwired/hillside/52/keymaps/manna-harbour_miryoku/config.h b/keyboards/hillside/52/keymaps/manna-harbour_miryoku/config.h similarity index 100% rename from keyboards/handwired/hillside/52/keymaps/manna-harbour_miryoku/config.h rename to keyboards/hillside/52/keymaps/manna-harbour_miryoku/config.h diff --git a/keyboards/handwired/hillside/52/keymaps/manna-harbour_miryoku/keymap.c b/keyboards/hillside/52/keymaps/manna-harbour_miryoku/keymap.c similarity index 100% rename from keyboards/handwired/hillside/52/keymaps/manna-harbour_miryoku/keymap.c rename to keyboards/hillside/52/keymaps/manna-harbour_miryoku/keymap.c diff --git a/keyboards/handwired/hillside/52/keymaps/via/keymap.c b/keyboards/hillside/52/keymaps/via/keymap.c similarity index 100% rename from keyboards/handwired/hillside/52/keymaps/via/keymap.c rename to keyboards/hillside/52/keymaps/via/keymap.c diff --git a/keyboards/handwired/hillside/52/keymaps/via/rules.mk b/keyboards/hillside/52/keymaps/via/rules.mk similarity index 100% rename from keyboards/handwired/hillside/52/keymaps/via/rules.mk rename to keyboards/hillside/52/keymaps/via/rules.mk diff --git a/keyboards/handwired/hillside/52/readme.md b/keyboards/hillside/52/readme.md similarity index 92% rename from keyboards/handwired/hillside/52/readme.md rename to keyboards/hillside/52/readme.md index 3878bc062a6..be4727083cb 100644 --- a/keyboards/handwired/hillside/52/readme.md +++ b/keyboards/hillside/52/readme.md @@ -13,11 +13,11 @@ Make example for this keyboard (after setting up your build environment): - make handwired/hillside/52:default + make hillside/52/0_1:default Flashing example for this keyboard: - make handwired/hillside/52:default:flash + make hillside/52/0_1:default:flash ## Bootloader diff --git a/keyboards/hillside/52/rules.mk b/keyboards/hillside/52/rules.mk new file mode 100644 index 00000000000..402bc6bb959 --- /dev/null +++ b/keyboards/hillside/52/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = hillside/52/0_1 diff --git a/keyboards/hillside/readme.md b/keyboards/hillside/readme.md new file mode 100644 index 00000000000..a1ca944d3a6 --- /dev/null +++ b/keyboards/hillside/readme.md @@ -0,0 +1,17 @@ +# Hillside + +| Hillside 52 and 48|![hillside](https://imgur.com/bvzLZz4h.png)| +|:-----------|:----------------| +| **Hillside 46** | ![hillside](https://imgur.com/pIVrKSgh.png)| + +[Hillside](https://github.com/mmccoyd/hillside) + is a small family of split ergonomic keyboards. +Inside this directory is support for the three smaller models: + the 52, 48 and 46. + +* Keyboard Maintainer: [Michael McCoyd](https://github.com/mmccoyd) +* Hardware Supported: + * [Hillside 52](https://github.com/qmk/qmk_firmware/blob/master/keyboards/hillside/52): ProMicro/Elite-C and compatible + * [Hillside 48](https://github.com/qmk/qmk_firmware/blob/master/keyboards/hillside/48): ProMicro/Elite-C and compatible + * [Hillside 46/40](https://github.com/qmk/qmk_firmware/blob/master/keyboards/hillside/46): ProMicro/Elite-C and compatible +* Hardware Availability: [https://github.com/mmccoyd/hillside](https://github.com/mmccoyd/hillside)