diff --git a/keyboards/handwired/hillside/48/keymaps/json2hill48.py b/keyboards/handwired/hillside/48/keymaps/json2hill48.py deleted file mode 100755 index c4fb5b1037..0000000000 --- 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 b2ea11d420..0000000000 --- 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 9a3bd3abc8..d958056801 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 0000000000..29a23aad80 --- /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 9c69b54d7b..5af9add00f 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 f5171564d1..b24aafa32b 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 aacdc92aad..64356ebaa7 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 564691d611..713a4f383b 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 f1c9483cab..4a02982843 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 0000000000..f3e926a8dc --- /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 a1d2c2f6e4..34659eb424 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 0000000000..943982d65e --- /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 1b6d5a6828..a488671008 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 268fa51839..e5351b5f1a 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 9bf294eff0..bfa720f57a 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 b4848a72ee..1405f5d2f0 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 e65deed9c8..c23702fdfa 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 0000000000..d8d69d9ec1 --- /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 b4d6b4629d..9a9808da8c 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 0000000000..f5cf4486d5 --- /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 107162024c..0f2dad336e 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 a49daf6b2c..0c9853810c 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 1617b0d431..cb09d5852d 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 2963e3452d..f21d13f5f8 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 3878bc062a..be4727083c 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 0000000000..402bc6bb95 --- /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 0000000000..a1ca944d3a --- /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)