diff options
author | alvicstep <alvicstep@gmail.com> | 2023-08-14 00:01:31 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-08-14 00:01:31 -0700 |
commit | 6f3beae895a498dc8c86c7a79ed3c77d458da027 (patch) | |
tree | 7b05332d42731ff5c167c56792fa2b2a16093b8d /keyboards/kinesis/kintwin | |
parent | 3da773dbdb4a4d5ae56d92d1aefc0851756adcea (diff) |
Kintwin controller for kinesis keyboard, split layout (#21614)
Co-authored-by: Ryan <fauxpark@gmail.com>
Diffstat (limited to 'keyboards/kinesis/kintwin')
-rw-r--r-- | keyboards/kinesis/kintwin/info.json | 146 | ||||
-rw-r--r-- | keyboards/kinesis/kintwin/kintwin.c | 29 | ||||
-rw-r--r-- | keyboards/kinesis/kintwin/readme.md | 32 | ||||
-rw-r--r-- | keyboards/kinesis/kintwin/rules.mk | 1 |
4 files changed, 208 insertions, 0 deletions
diff --git a/keyboards/kinesis/kintwin/info.json b/keyboards/kinesis/kintwin/info.json new file mode 100644 index 0000000000..ed67c36af3 --- /dev/null +++ b/keyboards/kinesis/kintwin/info.json @@ -0,0 +1,146 @@ +{ + "development_board": "blackpill_f401", + "keyboard_name": "Kinesis", + "url": "https://github.com/alvicstep/kintwin", + "manufacturer": "https://github.com/alvicstep/kintwin", + "maintainer": "Alex Stepanov", + "usb": { + "device_version": "0.0.1", + "vid": "0x4B53", + "pid": "0x0001", + "shared_endpoint": { + "keyboard": true + } + }, + "features": { + "bootmagic": true, + "console": false, + "command": false, + "mousekey": true, + "extrakey": true, + "nkro": true, + "audio": false, + "backlight": false + }, + "matrix_pins": { + "rows": ["A0", "A1", "A2", "A3", "A4", "A5", "A6"], + "cols": ["A7", "B0", "B1", "B10", "B9", "B8", "B7", "B14", "B13", "B12", "C14", "C15", "B15", "B6", "B5"] + }, + "diode_direction": "ROW2COL", + "indicators": { + "caps_lock": "A15", + "scroll_lock": "B3", + "num_lock": "B4", + "compose": "C13", + "on_state": 0 + }, + "layouts": { + "LAYOUT": { + "layout": [ + {"matrix": [0, 12], "x": 0, "y": 0, "w": 0.69, "h": 0.85}, + {"matrix": [0, 13], "x": 0.7, "y": 0, "w": 0.69, "h": 0.85}, + {"matrix": [0, 14], "x": 1.39, "y": 0, "w": 0.69, "h": 0.85}, + {"matrix": [1, 12], "x": 2.09, "y": 0, "w": 0.69, "h": 0.85}, + {"matrix": [1, 13], "x": 2.78, "y": 0, "w": 0.69, "h": 0.85}, + {"matrix": [1, 14], "x": 3.48, "y": 0, "w": 0.69, "h": 0.85}, + {"matrix": [2, 12], "x": 4.17, "y": 0, "w": 0.69, "h": 0.85}, + {"matrix": [2, 13], "x": 4.87, "y": 0, "w": 0.69, "h": 0.85}, + {"matrix": [2, 14], "x": 5.56, "y": 0, "w": 0.69, "h": 0.85}, + + {"matrix": [3, 12], "x": 9.25, "y": 0, "w": 0.69, "h": 0.85}, + {"matrix": [3, 13], "x": 9.95, "y": 0, "w": 0.69, "h": 0.85}, + {"matrix": [3, 14], "x": 10.64, "y": 0, "w": 0.69, "h": 0.85}, + {"matrix": [4, 12], "x": 11.34, "y": 0, "w": 0.69, "h": 0.85}, + {"matrix": [4, 13], "x": 12.03, "y": 0, "w": 0.69, "h": 0.85}, + {"matrix": [4, 14], "x": 12.73, "y": 0, "w": 0.69, "h": 0.85}, + {"matrix": [5, 12], "x": 13.42, "y": 0, "w": 0.69, "h": 0.85}, + {"matrix": [5, 14], "x": 14.12, "y": 0, "w": 0.69, "h": 0.85}, + {"matrix": [5, 13], "x": 14.81, "y": 0, "w": 0.69, "h": 0.85}, + + {"matrix": [0, 0], "x": 0, "y": 1.25, "w": 1.25}, + {"matrix": [0, 1], "x": 1.25, "y": 1.25}, + {"matrix": [0, 2], "x": 2.25, "y": 1}, + {"matrix": [0, 3], "x": 3.25, "y": 1}, + {"matrix": [0, 4], "x": 4.25, "y": 1}, + {"matrix": [0, 5], "x": 5.25, "y": 1}, + + {"matrix": [0, 6], "x": 9.25, "y": 1}, + {"matrix": [0, 7], "x": 10.25, "y": 1}, + {"matrix": [0, 8], "x": 11.25, "y": 1}, + {"matrix": [0, 9], "x": 12.25, "y": 1}, + {"matrix": [0, 10], "x": 13.25, "y": 1.25}, + {"matrix": [0, 11], "x": 14.25, "y": 1.25, "w": 1.25}, + + {"matrix": [1, 0], "x": 0, "y": 2.25, "w": 1.25}, + {"matrix": [1, 1], "x": 1.25, "y": 2.25}, + {"matrix": [1, 2], "x": 2.25, "y": 2}, + {"matrix": [1, 3], "x": 3.25, "y": 2}, + {"matrix": [1, 4], "x": 4.25, "y": 2}, + {"matrix": [1, 5], "x": 5.25, "y": 2}, + + {"matrix": [1, 6], "x": 11.25, "y": 2.25}, + {"matrix": [1, 7], "x": 12.25, "y": 2.25}, + {"matrix": [1, 8], "x": 13.25, "y": 2.25}, + {"matrix": [1, 9], "x": 14.25, "y": 2.25}, + {"matrix": [1, 10], "x": 15.25, "y": 2.25}, + {"matrix": [1, 11], "x": 16.25, "y": 2.25, "w": 1.25}, + + {"matrix": [2, 0], "x": 0, "y": 3.25, "w": 1.25}, + {"matrix": [2, 1], "x": 1.25, "y": 3.25}, + {"matrix": [2, 2], "x": 2.25, "y": 3}, + {"matrix": [2, 3], "x": 3.25, "y": 3}, + {"matrix": [2, 4], "x": 4.25, "y": 3}, + {"matrix": [2, 5], "x": 5.25, "y": 3}, + + {"matrix": [2, 6], "x": 9.25, "y": 3}, + {"matrix": [2, 7], "x": 10.25, "y": 3}, + {"matrix": [2, 8], "x": 11.25, "y": 3}, + {"matrix": [2, 9], "x": 12.25, "y": 3}, + {"matrix": [2, 10], "x": 13.25, "y": 3.25}, + {"matrix": [2, 11], "x": 14.25, "y": 3.25, "w": 1.25}, + + {"matrix": [3, 0], "x": 0, "y": 4.25, "w": 1.25}, + {"matrix": [3, 1], "x": 1.25, "y": 4.25}, + {"matrix": [3, 2], "x": 2.25, "y": 4}, + {"matrix": [3, 3], "x": 3.25, "y": 4}, + {"matrix": [3, 4], "x": 4.25, "y": 4}, + {"matrix": [3, 5], "x": 5.25, "y": 4}, + + {"matrix": [3, 6], "x": 9.25, "y": 4}, + {"matrix": [3, 7], "x": 10.25, "y": 4}, + {"matrix": [3, 8], "x": 11.25, "y": 4}, + {"matrix": [3, 9], "x": 12.25, "y": 4}, + {"matrix": [3, 10], "x": 13.25, "y": 4.25}, + {"matrix": [3, 11], "x": 14.25, "y": 4.25, "w": 1.25}, + + {"matrix": [4, 1], "x": 1.25, "y": 5.25}, + {"matrix": [4, 2], "x": 2.25, "y": 5}, + {"matrix": [4, 3], "x": 3.25, "y": 5}, + {"matrix": [4, 5], "x": 4.25, "y": 5}, + + {"matrix": [4, 6], "x": 10.25, "y": 5}, + {"matrix": [4, 8], "x": 11.25, "y": 5}, + {"matrix": [4, 9], "x": 12.25, "y": 5}, + {"matrix": [4, 10], "x": 13.25, "y": 5.25}, + + {"matrix": [6, 5], "x": 5.25, "y": 6}, + {"matrix": [5, 5], "x": 6.25, "y": 6}, + + {"matrix": [6, 9], "x": 8.25, "y": 6}, + {"matrix": [5, 8], "x": 9.25, "y": 6}, + + {"matrix": [5, 3], "x": 6.25, "y": 7}, + + {"matrix": [6, 8], "x": 8.25, "y": 7}, + + {"matrix": [6, 3], "x": 4.25, "y": 7, "h": 2}, + {"matrix": [6, 4], "x": 5.25, "y": 7, "h": 2}, + {"matrix": [5, 2], "x": 6.25, "y": 8}, + + {"matrix": [6, 6], "x": 8.25, "y": 8}, + {"matrix": [5, 7], "x": 9.25, "y": 7, "h": 2}, + {"matrix": [5, 6], "x": 10.25, "y": 7, "h": 2} + ] + } + } +} diff --git a/keyboards/kinesis/kintwin/kintwin.c b/keyboards/kinesis/kintwin/kintwin.c new file mode 100644 index 0000000000..0e2e7a5792 --- /dev/null +++ b/keyboards/kinesis/kintwin/kintwin.c @@ -0,0 +1,29 @@ +// Copyright 2023 Alex Stepanov (@alvicstep) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "quantum.h" + +void matrix_init_kb(void) { + + uint8_t led_delay_ms = 80; + + /* LED pins setup */ + setPinOutput(LED_CAPS_LOCK_PIN); + writePinLow(LED_CAPS_LOCK_PIN); + + wait_ms(led_delay_ms); + setPinOutput(LED_NUM_LOCK_PIN); + writePinLow(LED_NUM_LOCK_PIN); + wait_ms(led_delay_ms); + + setPinOutput(LED_SCROLL_LOCK_PIN); + writePinLow(LED_SCROLL_LOCK_PIN); + wait_ms(led_delay_ms); + + setPinOutput(LED_COMPOSE_PIN); + writePinLow(LED_COMPOSE_PIN); + wait_ms(led_delay_ms); + writePinHigh(LED_COMPOSE_PIN); + + matrix_init_user(); +}
\ No newline at end of file diff --git a/keyboards/kinesis/kintwin/readme.md b/keyboards/kinesis/kintwin/readme.md new file mode 100644 index 0000000000..7f944e02bc --- /dev/null +++ b/keyboards/kinesis/kintwin/readme.md @@ -0,0 +1,32 @@ +# KinTwin +[KinTwin](https://github.com/alvicstep/kintwin) is a drop-in replacement of a controller and thumb cluster PCB boards for [Kinesis Contoured keyboards](https://deskthority.net/wiki/Kinesis_Contoured). The controller board is a fork of [KinBP](https://github.com/DmNosachev/KinBP). + +### Keyboard +![Kinesis keyboard](https://i.imgur.com/gmuYlUyh.jpg) + +### Controller +![KinTwin controller](https://i.imgur.com/vu6pexwh.jpg) + +The main difference between KinTwin and KinT controllers is that the former utilizes **Blackpill STM32F401** development board and the latter utilizes **Teensy** development boards. + +* Keyboard Maintainer: Alex Stepanov +* Hardware Supported: KinTwin PCB, WeAct Black Pill STM32F401 micro controller +* Hardware Availability: [Open Source (CC-BY-SA)](https://github.com/alvicstep/kintwin) + +Make example for this keyboard (after setting up your build environment): + + make kinesis/kintwin:default + +Flashing example for this keyboard: + + make kinesis/kintwin:default:flash + +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). + +## Bootloader + +Enter the bootloader in 3 ways: + +* **Bootmagic reset**: Hold down the top left key and plug in the keyboard. +* **Physical reset button**. Hold 'boot0' button on MCU board, press 'reset', then release 'boot0'. +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available diff --git a/keyboards/kinesis/kintwin/rules.mk b/keyboards/kinesis/kintwin/rules.mk new file mode 100644 index 0000000000..3922c569c4 --- /dev/null +++ b/keyboards/kinesis/kintwin/rules.mk @@ -0,0 +1 @@ +# File intentionally blank
\ No newline at end of file |