diff --git a/keyboards/a_dux/keymaps/vial/config.h b/keyboards/a_dux/keymaps/vial/config.h new file mode 100644 index 0000000000..c60500e65b --- /dev/null +++ b/keyboards/a_dux/keymaps/vial/config.h @@ -0,0 +1,16 @@ +#pragma once + +#define VIAL_KEYBOARD_UID {0x76, 0x31, 0x97, 0x64, 0x33, 0x4B, 0xC0, 0xA6} + +// Defaults for usable home row mods +#define TAPPING_TERM 200 + +/* Vial unlock keycombo: ESC + Return */ +#define VIAL_UNLOCK_COMBO_ROWS { 0, 0 } +#define VIAL_UNLOCK_COMBO_COLS { 0, 1 } +#define DYNAMIC_KEYMAP_LAYER_COUNT 8 +// #define DYNAMIC_KEYMAP_MACRO_COUNT 4 +// #define NO_ACTION_MACRO +// #define NO_ACTION_FUNCTION + +// #define NO_ACTION_ONESHOT diff --git a/keyboards/a_dux/keymaps/vial/keymap.c b/keyboards/a_dux/keymaps/vial/keymap.c new file mode 100644 index 0000000000..c15b596f8f --- /dev/null +++ b/keyboards/a_dux/keymaps/vial/keymap.c @@ -0,0 +1,40 @@ +// Copyright 2022 @filterpaper +// SPDX-License-Identifier: GPL-2.0+ + +#include QMK_KEYBOARD_H + +// Seniply layout +// https://stevep99.github.io/seniply + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_split_3x5_2( + KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, + KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_QUOT, + KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, + LT(3,KC_TAB), KC_LSFT, KC_SPC, LT(1,KC_ENT) + ), + [1] = LAYOUT_split_3x5_2( + KC_EXLM, KC_AT, KC_SCLN, KC_COLN, KC_UNDS, KC_EQL, KC_7, KC_8, KC_9, KC_PLUS, + KC_BSLS, KC_PIPE, KC_LCBR, KC_LPRN, KC_LBRC, KC_ASTR, KC_4, KC_5, KC_6, KC_MINS, + KC_NO, KC_NO, KC_RCBR, KC_RPRN, KC_RBRC, KC_0, KC_1, KC_2, KC_3, KC_SLSH, + _______, MO(2), _______, _______ + ), + [2] = LAYOUT_split_3x5_2( + RALT(KC_1), RALT(KC_2), RALT(KC_3), RALT(KC_4), KC_BRIU, KC_NO, KC_AMPR, KC_GRV, KC_TILD, KC_NO, + KC_MUTE, KC_VOLD, KC_MPLY, KC_VOLU, KC_BRID, KC_NO, KC_DLR, KC_PERC, KC_CIRC, KC_UNDS, + KC_EJCT, KC_MPRV, KC_MSTP, KC_MNXT, KC_NO, KC_NO, KC_EXLM, KC_AT, KC_HASH, KC_NO, + _______, _______, _______, _______ + ), + [3] = LAYOUT_split_3x5_2( + KC_ESC, LALT(KC_LEFT), LCTL(KC_F), LALT(KC_RGHT), KC_INS, KC_PGUP, KC_HOME, KC_UP, KC_END, KC_CAPS, + OSM(MOD_LALT), OSM(MOD_LGUI), OSM(MOD_LSFT), OSM(MOD_LCTL), OSM(MOD_RALT), KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, KC_DEL, + LCTL(KC_Z), LCTL(KC_X), LCTL(KC_C), KC_TAB, LCTL(KC_V), KC_ENT, KC_BSPC, KC_RCTL, KC_LALT, KC_APP, + _______, _______, _______, MO(4) + ), + [4] = LAYOUT_split_3x5_2( + KC_NO, KC_NO, RCS(KC_F), KC_PSCR, KC_NO, KC_F12, KC_F7, KC_F8, KC_F9, KC_NO, + OSM(MOD_LALT), OSM(MOD_LGUI), OSM(MOD_LSFT), OSM(MOD_LCTL), OSM(MOD_RALT), KC_F11, KC_F4, KC_F5, KC_F6, KC_NO, + RCS(KC_Z), RCS(KC_X), RCS(KC_C), LSFT(KC_TAB), RCS(KC_V), KC_F10, KC_F1, KC_F2, KC_F3, KC_NO, + _______, _______, _______, _______ + ) +}; diff --git a/keyboards/a_dux/keymaps/vial/rules.mk b/keyboards/a_dux/keymaps/vial/rules.mk new file mode 100644 index 0000000000..44d1879063 --- /dev/null +++ b/keyboards/a_dux/keymaps/vial/rules.mk @@ -0,0 +1,12 @@ +VIA_ENABLE = yes +VIAL_ENABLE = yes +LTO_ENABLE = yes +KEY_OVERRIDE_ENABLE = no +# COMBO_ENABLE = no +# CONSOLE_ENABLE = no +# MOUSEKEY_ENABLE = no +# SPACE_CADET_ENABLE = no +# GRAVE_ESC_ENABLE = no +AVR_USE_MINIMAL_PRINTF = yes +# BOOTLOADER = atmel-dfu +# MAGIC_ENABLE = no diff --git a/keyboards/a_dux/keymaps/vial/vial.json b/keyboards/a_dux/keymaps/vial/vial.json new file mode 100644 index 0000000000..f08a015b8a --- /dev/null +++ b/keyboards/a_dux/keymaps/vial/vial.json @@ -0,0 +1,18 @@ +{ + "matrix":{ + "rows":8, + "cols":5 + }, + "layouts":{ + "keymap":[ +[ "0,0", "0,1", "0,2", "0,3", "0,4"], +[ "1,0", "1,1", "1,2", "1,3", "1,4"], +[ "2,0", "2,1", "2,2", "2,3", "2,4"], +[{"x":3},"3,0", "3,1"], +[{"y":-4,"x":6},"4,4", "4,3", "4,2", "4,1", "4,0"], +[{"x":6},"5,4", "5,3", "5,2", "5,1", "5,0"], +[{"x":6},"6,4", "6,3", "6,2", "6,1", "6,0"], +[{"x":6},"7,1", "7,0"] + ] + } +} diff --git a/keyboards/cuttlefish/keyboard.json b/keyboards/cuttlefish/keyboard.json new file mode 100644 index 0000000000..fc20a0c11b --- /dev/null +++ b/keyboards/cuttlefish/keyboard.json @@ -0,0 +1,92 @@ +{ + "keyboard_name": "Sepia officinalis", + "manufacturer": "tapioki", + "url": "https://github.com/tapioki/cephalopoda/tree/main/Sepia%20officinalis", + "maintainer": "@tapioki", + "usb": { + "vid": "0xC2AB", + "pid": "0x3939", + "device_version": "0.0.1" + }, + "development_board": "promicro", + "features": { + "bootmagic": true, + "extrakey": true, + "mousekey": true, + "unicode": true + }, + "matrix_pins": { + "direct": [ + ["F6", "B5", "D7", "D3", null], + ["F7", "F5", "B4", "C6", "D2"], + ["B1", "F4", "E6", "D4", "D1"], + ["B3", "B2", "B6", null, null] + ] + }, + "split": { + "enabled": true, + "bootmagic": { + "matrix": [4, 4] + }, + "matrix_pins": { + "right": { + "direct": [ + ["D3", "D7", "B5", "F6", null], + ["D2", "C6", "B4", "F5", "F7"], + ["D1", "D4", "E6", "F4", "B1"], + ["B6", "B2", "B3", null, null] + ] + } + }, + "serial": { + "pin": "D0" + } + }, + "community_layouts": ["split_3x5_2"], + "layout_aliases": { + "LAYOUT": "LAYOUT_split_3x5_2" + }, + "layouts": { + "LAYOUT": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 1.33}, + {"matrix": [0, 1], "x": 1, "y": 0.31}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0.28}, + {"matrix": [4, 0], "x": 8, "y": 0.42}, + {"matrix": [4, 1], "x": 9, "y": 0.28}, + {"matrix": [4, 2], "x": 10, "y": 0}, + {"matrix": [4, 3], "x": 11, "y": 0.31}, + + {"matrix": [1, 0], "x": 0, "y": 2.33}, + {"matrix": [1, 1], "x": 1, "y": 1.31}, + {"matrix": [1, 2], "x": 2, "y": 1}, + {"matrix": [1, 3], "x": 3, "y": 1.28}, + {"matrix": [1, 4], "x": 4, "y": 1.42}, + {"matrix": [5, 0], "x": 8, "y": 1.42}, + {"matrix": [5, 1], "x": 9, "y": 1.28}, + {"matrix": [5, 2], "x": 10, "y": 1}, + {"matrix": [5, 3], "x": 11, "y": 1.31}, + {"matrix": [5, 4], "x": 12, "y": 2.33}, + + {"matrix": [2, 0], "x": 0, "y": 3.33}, + {"matrix": [2, 1], "x": 1, "y": 2.31}, + {"matrix": [2, 2], "x": 2, "y": 2}, + {"matrix": [2, 3], "x": 3, "y": 2.28}, + {"matrix": [2, 4], "x": 4, "y": 2.42}, + {"matrix": [6, 0], "x": 8, "y": 2.42}, + {"matrix": [6, 1], "x": 9, "y": 2.28}, + {"matrix": [6, 2], "x": 10, "y": 2}, + {"matrix": [6, 3], "x": 11, "y": 2.31}, + {"matrix": [6, 4], "x": 12, "y": 3.33}, + + {"matrix": [3, 0], "x": 4, "y": 3.75}, + {"matrix": [3, 1], "x": 5, "y": 4}, + {"matrix": [3, 2], "x": 5, "y": 4.25}, + {"matrix": [7, 0], "x": 7, "y": 4}, + {"matrix": [7, 1], "x": 8, "y": 3.75}, + {"matrix": [7, 2], "x": 5, "y": 4.25}, + ] + } + } +} diff --git a/keyboards/cuttlefish/keymaps/default/config.h b/keyboards/cuttlefish/keymaps/default/config.h new file mode 100644 index 0000000000..3f27b1a32d --- /dev/null +++ b/keyboards/cuttlefish/keymaps/default/config.h @@ -0,0 +1,4 @@ +#pragma once + +// Defaults for usable home row mods +#define TAPPING_TERM 200 diff --git a/keyboards/cuttlefish/keymaps/default/keymap.c b/keyboards/cuttlefish/keymaps/default/keymap.c new file mode 100644 index 0000000000..ce508cebd7 --- /dev/null +++ b/keyboards/cuttlefish/keymaps/default/keymap.c @@ -0,0 +1,10 @@ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_split_3x5_2( + KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_Y, KC_U, + GUI_T(KC_A), ALT_T(KC_R), CTL_T(KC_S), SFT_T(KC_T), KC_D, KC_H, SFT_T(KC_N), RCTL_T(KC_E), ALT_T(KC_I), RGUI_T(KC_O), + KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, + KC_ENT, KC_TAB, KC_SPC, KC_BSPC, QK_GESC, KC_DEL + ), +}; diff --git a/keyboards/cuttlefish/keymaps/vial/config.h b/keyboards/cuttlefish/keymaps/vial/config.h new file mode 100644 index 0000000000..9daf41e2bb --- /dev/null +++ b/keyboards/cuttlefish/keymaps/vial/config.h @@ -0,0 +1,17 @@ +#pragma once + +// Defaults for usable home row mods +#define TAPPING_TERM 200 + +#define VIAL_KEYBOARD_UID {0x19, 0x54, 0x19, 0x97, 0x9A, 0xE3, 0xF1, 0xED} + +/* Vial unlock keycombo: ESC + Return */ +#define VIAL_UNLOCK_COMBO_ROWS { 0, 2 } +#define VIAL_UNLOCK_COMBO_COLS { 0, 3 } +#define DYNAMIC_KEYMAP_LAYER_COUNT 8 +// #define DYNAMIC_KEYMAP_MACRO_COUNT 4 + +// #define NO_ACTION_MACRO +// #define NO_ACTION_FUNCTION + +// #define NO_ACTION_ONESHOT diff --git a/keyboards/cuttlefish/keymaps/vial/keymap.c b/keyboards/cuttlefish/keymaps/vial/keymap.c new file mode 100644 index 0000000000..ce508cebd7 --- /dev/null +++ b/keyboards/cuttlefish/keymaps/vial/keymap.c @@ -0,0 +1,10 @@ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_split_3x5_2( + KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_Y, KC_U, + GUI_T(KC_A), ALT_T(KC_R), CTL_T(KC_S), SFT_T(KC_T), KC_D, KC_H, SFT_T(KC_N), RCTL_T(KC_E), ALT_T(KC_I), RGUI_T(KC_O), + KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, + KC_ENT, KC_TAB, KC_SPC, KC_BSPC, QK_GESC, KC_DEL + ), +}; diff --git a/keyboards/cuttlefish/keymaps/vial/rules.mk b/keyboards/cuttlefish/keymaps/vial/rules.mk new file mode 100644 index 0000000000..44d1879063 --- /dev/null +++ b/keyboards/cuttlefish/keymaps/vial/rules.mk @@ -0,0 +1,12 @@ +VIA_ENABLE = yes +VIAL_ENABLE = yes +LTO_ENABLE = yes +KEY_OVERRIDE_ENABLE = no +# COMBO_ENABLE = no +# CONSOLE_ENABLE = no +# MOUSEKEY_ENABLE = no +# SPACE_CADET_ENABLE = no +# GRAVE_ESC_ENABLE = no +AVR_USE_MINIMAL_PRINTF = yes +# BOOTLOADER = atmel-dfu +# MAGIC_ENABLE = no diff --git a/keyboards/cuttlefish/keymaps/vial/vial.json b/keyboards/cuttlefish/keymaps/vial/vial.json new file mode 100644 index 0000000000..78517ecbd2 --- /dev/null +++ b/keyboards/cuttlefish/keymaps/vial/vial.json @@ -0,0 +1,26 @@ +{ + "matrix":{ + "rows":8, + "cols":5 + }, + "layouts":{ + "keymap":[ +[{"x": 2},"0,0", {"y":-0.5 },"0,1", {"y": 0.5 },"0,2", {"y":0.5 },"0,3"], +[{ "x": 2,"y": -0.5 },"1,1",{"y": -0.5 },"1,2",{"y": 0.5 }, "1,3", {"y": 0.5 },"1,4"], +[{ "x": 2,"y": -0.5 },"2,1",{"y": -0.5 },"2,2",{"y": 0.5 }, "2,3", {"y": 0.5 },"2,4"], + + +[{"x": 8, "y":-3},"4,0", {"y":-0.5 },"4,1", {"y": -0.5 },"4,2", {"y":0.5 },"4,3"], +[{"x": 8, "y":0.5},"5,0", {"y":-0.5 },"5,1", {"y": -0.5 },"5,2", {"y":0.5 },"5,3"], +[{"x": 8, "y":0.5},"6,0", {"y":-0.5 },"6,1", {"y": -0.5 },"6,2", {"y":0.5 },"6,3"], + +[{"x": 7, "y": 0.5, "r": -15, "rx": 0.612, "ry": 5.298 },"7,0", "7,1", "7,2"], +[{"x": 0, "y": -1, "r": 15, "rx": 3.83, "ry": 4.303 },"3,0", "3,1", "3,2"], + +[{"x": 0.2,"y": 0,"r": -15,"rx": 0.844,"ry": 4.124} , "2,0"], +[{"x": 0.2,"y":-0.1,"r": -15,"rx": 0.612,"ry": 3.259} ,"1,0"], +[{"x": 6,"y": -2,"r": 15, "rx": 5.696, "ry": 4.55 } , "6,4"], +[{"x": 6,"y":-2,"r": 15, "rx": 5.941, "ry": 3.584 } ,"5,4"] + ] + } +} diff --git a/keyboards/cuttlefish/readme.md b/keyboards/cuttlefish/readme.md new file mode 100644 index 0000000000..9a786fa39b --- /dev/null +++ b/keyboards/cuttlefish/readme.md @@ -0,0 +1,36 @@ +# Sepia officinalis + +![Sepia officinalis](https://github.com/tapioki/cephalopoda/raw/main/Images/sepia_officinalis.png) + +AKA S. officinalis, S.O., "The first one", "Cuttlefish" + +34 keys, aggressive pinky stagger with top pinky key omitted. + +## Keyboard Info + +* Keyboard Maintainer: [@tapioki](https://github.com/tapioki) +* Hardware Supported: Sepia officinalis +* Hardware Availability: Order PCBs with gerber files from the [repository](https://github.com/tapioki/cephalopoda/tree/main/Sepia%20officinalis) + +Make example for this keyboard (after setting up your build environment): + + make cuttlefish:default + +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). + +## Setting Handedness + +Firmware uses [handedness by EEPROM](https://docs.qmk.fm/#/feature_split_keyboard?id=handedness-by-eeprom) as default and it must be *configured once* on each side. The make commands are: + + make cuttlefish:default:dfu-split-left + make cuttlefish:default:dfu-split-right + +[QMK Toolbox](http://qmk.fm/toolbox) can also be used to set EEPROM handedness. Place the controller in bootloader mode and select menu option Tools -> EEPROM -> Set Left/Right Hand + +## Bootloader + +Enter the bootloader in 3 ways: + +* **Bootmagic reset**: Hold down the top left key on the left half (or the top right right key on the right half) and plug in the controller on that side. +* **Physical reset pins**: Briefly short the RST and GND pins on the microcontroller using tweezers, a paperclip, or any other conductive material. +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is configured.