diff options
author | InigoGutierrez <inigogf.95@gmail.com> | 2022-09-29 11:25:42 +0200 |
---|---|---|
committer | InigoGutierrez <inigogf.95@gmail.com> | 2022-09-29 11:25:42 +0200 |
commit | e477fc45079e29fe2bee92f3a3b1c11346888ebc (patch) | |
tree | 56bacbd498d01e8294c814a6fa75c8e9e77cc050 /keyboards/handwired | |
parent | 6afdd9d74da250e47ac64d6690bd19d037045e99 (diff) | |
parent | eb55551e2d764ac48c48e02165589ab11f4c8005 (diff) | |
download | qmk_firmware-e477fc45079e29fe2bee92f3a3b1c11346888ebc.tar.gz qmk_firmware-e477fc45079e29fe2bee92f3a3b1c11346888ebc.zip |
Merge branch 'master' into taamastaamas
Diffstat (limited to 'keyboards/handwired')
24 files changed, 595 insertions, 51 deletions
diff --git a/keyboards/handwired/dygma/raise/ansi/ansi.c b/keyboards/handwired/dygma/raise/ansi/ansi.c index 652b6551d2..8c88ced12f 100644 --- a/keyboards/handwired/dygma/raise/ansi/ansi.c +++ b/keyboards/handwired/dygma/raise/ansi/ansi.c @@ -28,7 +28,7 @@ const uint8_t led_map[DRIVER_LED_TOTAL] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 20, 0xff, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 68, 69, // right side - 36 keys includes LP - 0 + LPH, 1 + LPH, 2 + LPH, 3 + LPH, 4 + LPH, 5 + LPH, 6 + LPH, 15 + LPH, 8 + LPH, 9 + LPH, 10 + LPH, 11 + LPH, 12 + LPH, 13 + LPH, 14 + LPH, 7 + LPH, 16 + LPH, 17 + LPH, 18 + LPH, 19 + LPH, + 0 + LPH, 1 + LPH, 2 + LPH, 3 + LPH, 4 + LPH, 5 + LPH, 6 + LPH, 7 + LPH, 8 + LPH, 9 + LPH, 10 + LPH, 11 + LPH, 12 + LPH, 13 + LPH, 14 + LPH, 15 + LPH, 16 + LPH, 17 + LPH, 18 + LPH, 19 + LPH, 20 + LPH, 21 + LPH, 22 + LPH, 23 + LPH, 24 + LPH, 25 + LPH, 26 + LPH, 27 + LPH, 28 + LPH, 29 + LPH, 30 + LPH, 31 + LPH, 32 + LPH, 33 + LPH, 68 + LPH, 69 + LPH, // left under glow - 30 @@ -50,11 +50,11 @@ led_config_t g_led_config = { { { 26 , 27 , 28 , 29 , 30 , NO_LED , 31 , 32 } , // right hand - { NO_LED , 6 + LHK , 5 + LHK , 4 + LHK , 3 + LHK , 2 + LHK , 1 + LHK , 0 + LHK } , - { 14 + LHK , 13 + LHK , 12 + LHK , 11 + LHK , 10 + LHK , 9 + LHK , 8 + LHK , 7 + LHK } , - { NO_LED , 21 + LHK , 20 + LHK , 19 + LHK , 18 + LHK , 17 + LHK , 16 + LHK , 15 + LHK } , - { NO_LED , NO_LED , 27 + LHK , 26 + LHK , 25 + LHK , 24 + LHK , 23 + LHK , 22 + LHK } , - { 35 + LHK , 34 + LHK , 33 + LHK , 32 + LHK , 31 + LHK , 30 + LHK , 29 + LHK , 28 + LHK } + { 33 , 34 , 35 , 36 , 37 , 38 , 39 , NO_LED } , + { 40 , 41 , 42 , 43 , 44 , 45 , 46 , 47 } , + { 48 , 49 , 50 , 51 , 52 , 53 , 54 , NO_LED } , + { 55 , 56 , 57 , 58 , 59 , 60 , NO_LED , NO_LED } , + { 61 , 62 , 63 , 64 , 65 , 66 , 67 , 68 } }, { // generated from the svg image of the keyboard, see create-led-config.js {82, 3}, {88, 3}, {94, 3}, {100, 3}, {106, 3}, {112, 3}, {118, 3}, {84, 10}, {91, 10}, {97, 10}, {103, 10}, {109, 10}, @@ -72,7 +72,7 @@ led_config_t g_led_config = { { {173, 63}, {177, 59}, {178, 49}, {179, 40}, {179, 31}, {177, 25}, {175, 20}, {175, 15}, {123, 54} }, { 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 0, + 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, diff --git a/keyboards/handwired/dygma/raise/config.h b/keyboards/handwired/dygma/raise/config.h index 64c6bad8e8..1596807ae3 100644 --- a/keyboards/handwired/dygma/raise/config.h +++ b/keyboards/handwired/dygma/raise/config.h @@ -25,3 +25,33 @@ #define DEBOUNCE 0 #define DRIVER_LED_TOTAL 132 + +#ifdef RGB_MATRIX_ENABLE +// At the default flush limit of 16ms (~62.5 fps), the matrix scan rate is approximately +// ~140 scans per second under full load (when changes are being made to the LED state). +// Such a low scan rate will have impact the keyboard's accuracy for faster typists. +// +// With RGB completely disabled, the matrix scan rate is ~660 scans per second, and typing +// accuracy feels on par with the Dygma Raise Neuron. +// +// At 100ms (10 fps), the matrix scan rate is ~355 scans per second under full load, and typing +// accuracy is reasonably good. +#define RGB_MATRIX_LED_FLUSH_LIMIT 100 +#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended + +#define RGB_MATRIX_KEYPRESSES +#define RGB_MATRIX_FRAMEBUFFER_EFFECTS + +// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined +#define ENABLE_RGB_MATRIX_TYPING_HEATMAP +//# define ENABLE_RGB_MATRIX_DIGITAL_RAIN +// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined +#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE +#define ENABLE_RGB_MATRIX_SOLID_REACTIVE +#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE +#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE +#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS +#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS +#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS +#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS +#endif diff --git a/keyboards/handwired/dygma/raise/iso/iso.c b/keyboards/handwired/dygma/raise/iso/iso.c index ec2607d06c..596b678638 100644 --- a/keyboards/handwired/dygma/raise/iso/iso.c +++ b/keyboards/handwired/dygma/raise/iso/iso.c @@ -50,21 +50,21 @@ led_config_t g_led_config = { { { 26 , 27 , 28 , 29 , 30 , NO_LED , 31 , 32 } , // right hand - { NO_LED , 6 + LHK , 5 + LHK , 4 + LHK , 3 + LHK , 2 + LHK , 1 + LHK , 0 + LHK } , - { 14 + LHK , 13 + LHK , 12 + LHK , 11 + LHK , 10 + LHK , 9 + LHK , 8 + LHK , 7 + LHK } , - { NO_LED , 21 + LHK , 20 + LHK , 19 + LHK , 18 + LHK , 17 + LHK , 16 + LHK , 15 + LHK } , - { NO_LED , NO_LED , 27 + LHK , 26 + LHK , 25 + LHK , 24 + LHK , 23 + LHK , 22 + LHK } , - { 35 + LHK , 34 + LHK , 33 + LHK , 32 + LHK , 31 + LHK , 30 + LHK , 29 + LHK , 28 + LHK } + { 33 , 34 , 35 , 36 , 37 , 38 , 39 , NO_LED } , + { 40 , 41 , 42 , 43 , 44 , 45 , 46 , 47 } , + { 48 , 49 , 50 , 51 , 52 , 53 , 54 , NO_LED } , + { 55 , 56 , 57 , 58 , 59 , 60 , NO_LED , NO_LED } , + { 61 , 62 , 63 , 64 , 65 , 66 , 67 , 68 } }, { // generated from the svg image of the keyboard, see create-led-config.js - {82, 3}, {88, 3}, {94, 3}, {100, 3}, {106, 3}, {112, 3}, {118, 3}, {84, 10}, {91, 10}, {97, 10}, {103, 10}, {109, 10}, + {82, 3}, {88, 3}, {94, 3}, {100, 3}, {106, 3}, {112, 3}, {118, 3}, {84, 10}, {91, 10}, {97, 10}, {103, 10}, {109, 10}, {115, 10}, {84, 16}, {92, 16}, {98, 16}, {104, 16}, {110, 16}, {116, 16}, {82, 22}, {88, 22}, {94, 22}, {100, 22}, {106, 22}, {112, 22}, {118, 22}, {83, 28}, {90, 28}, {98, 28}, {106, 28}, {116, 28}, {111, 34}, {118, 34}, {168, 3}, {159, 3}, {153, 3}, {147, 3}, {141, 3}, {135, 3}, {129, 3}, {170, 13}, {162, 10}, {156, 10}, {150, 10}, {144, 10}, - {139, 10}, {133, 10}, {127, 10}, {164, 16}, {158, 16}, {152, 16}, {146, 16}, {140, 16}, {134, 16}, {128, 16}, {166, 22}, + {139, 10}, {133, 10}, {127, 10}, {164, 16}, {158, 16}, {152, 16}, {146, 16}, {140, 16}, {134, 16}, {128, 16}, {166, 22}, {154, 22}, {148, 22}, {142, 22}, {136, 22}, {130, 22}, {170, 28}, {163, 28}, {156, 28}, {149, 28}, {140, 28}, {131, 28}, {136, 34}, {128, 34}, {78, 13}, {78, 6}, {80, 0}, {87, 0}, {95, 0}, {103, 0}, {111, 0}, {119, 0}, {122, 3}, {121, 9}, - {120, 15}, {122, 21}, {123, 27}, {123, 33}, {120, 38}, {116, 42}, {114, 48}, {112, 55}, {109, 61}, {103, 64}, {96, 64}, + {120, 15}, {122, 21}, {123, 27}, {123, 33}, {120, 38}, {116, 42}, {114, 48}, {112, 55}, {109, 61}, {103, 64}, {96, 64}, {88, 64}, {81, 63}, {76, 60}, {75, 52}, {75, 46}, {74, 38}, {74, 32}, {75, 27}, {77, 21}, {175, 10}, {175, 4}, {172, 0}, {164, 0}, {157, 0}, {149, 0}, {142, 0}, {134, 0}, {127, 0}, {123, 3}, {122, 8}, {122, 15}, {124, 21}, {124, 27}, {124, 33}, {126, 38}, {131, 42}, {134, 48}, {135, 55}, {137, 61}, {143, 63}, {150, 63}, {158, 63}, {166, 63}, {173, 63}, {177, 59}, diff --git a/keyboards/handwired/dygma/raise/leds.c b/keyboards/handwired/dygma/raise/leds.c index 3f6037cbfa..64f03d722a 100644 --- a/keyboards/handwired/dygma/raise/leds.c +++ b/keyboards/handwired/dygma/raise/leds.c @@ -24,16 +24,17 @@ #include "print.h" #include "leds.h" -struct __attribute__((packed)) cRGB { +// Color order of LEDs is Green, Red, Blue. +typedef struct PACKED { uint8_t r; uint8_t g; uint8_t b; -}; +} raiseRGB; #define LEDS_PER_HAND 72 #define LED_BANKS 9 #define LEDS_PER_BANK 8 -#define LED_BYTES_PER_BANK (sizeof(cRGB) * LEDS_PER_BANK) +#define LED_BYTES_PER_BANK (sizeof(raiseRGB) * LEDS_PER_BANK) // shifting << 1 is because drivers/chibios/i2c_master.h expects the address // shifted. @@ -44,37 +45,28 @@ struct __attribute__((packed)) cRGB { #define LEFT 0 #define RIGHT 1 -static cRGB led_state[2 * LEDS_PER_HAND]; - -void set_all_leds_to(uint8_t r, uint8_t g, uint8_t b) { - uint8_t buf[] = {TWI_CMD_LED_SET_ALL_TO, b, g, r}; - i2c_transmit(I2C_ADDR(LEFT), buf, sizeof(buf), I2C_TIMEOUT); - wait_us(10); - i2c_transmit(I2C_ADDR(RIGHT), buf, sizeof(buf), I2C_TIMEOUT); - wait_us(10); -} - -void set_led_to(int led, uint8_t r, uint8_t g, uint8_t b) { - int sled = led_map[led]; - uint8_t buf[] = {TWI_CMD_LED_SET_ONE_TO, sled & 0x1f, b, g, r}; - int hand = (sled >= LEDS_PER_HAND) ? RIGHT : LEFT; - i2c_transmit(I2C_ADDR(hand), buf, sizeof(buf), I2C_TIMEOUT); - wait_us(10); -} +static raiseRGB led_pending[2 * LEDS_PER_HAND]; +static raiseRGB led_state[2 * LEDS_PER_HAND]; static void set_color(int index, uint8_t r, uint8_t g, uint8_t b) { int sled = led_map[index]; - - led_state[sled].r = r; - led_state[sled].g = g; - led_state[sled].b = b; + // The red component of the LED is apparently stronger than the others. + // From: https://github.com/keyboardio/Kaleidoscope/blob/aba8c9ee66bbb5ded15135618d2b2964ee82b2cc/plugins/Kaleidoscope-Hardware-Dygma-Raise/src/kaleidoscope/device/dygma/raise/RaiseSide.cpp#L235-L242 + if (r >= 26) { + r -= 26; + } + led_pending[sled].r = r; + led_pending[sled].g = g; + led_pending[sled].b = b; } static void set_color_all(uint8_t r, uint8_t g, uint8_t b) { for (int i = 0; i < DRIVER_LED_TOTAL; i++) set_color(i, r, g, b); } -static void init(void) {} +static void init(void) { + set_color_all(0,0,0); +} static void flush(void) { uint8_t command[1 + LED_BYTES_PER_BANK]; @@ -86,10 +78,17 @@ static void flush(void) { for (int hand = 0; hand < 2; hand++) { int addr = I2C_ADDR(hand); int i = (hand * LEDS_PER_HAND) + (bank * LEDS_PER_BANK); - uint8_t *bank_data = (uint8_t *)&led_state[i]; + + if (memcmp(&led_state[i], &led_pending[i], LED_BYTES_PER_BANK) == 0) { + // No change. + continue; + } + + // Update LED state + memcpy(&led_state[i], &led_pending[i], LED_BYTES_PER_BANK); command[0] = TWI_CMD_LED_BASE + bank; - memcpy(&command[1], bank_data, LED_BYTES_PER_BANK); + memcpy(&command[1], &led_pending[i], LED_BYTES_PER_BANK); i2c_transmit(addr, command, sizeof(command), I2C_TIMEOUT); // delay to prevent issues with the i2c bus diff --git a/keyboards/handwired/dygma/raise/leds.h b/keyboards/handwired/dygma/raise/leds.h index 8d70ed70b2..8964838aad 100644 --- a/keyboards/handwired/dygma/raise/leds.h +++ b/keyboards/handwired/dygma/raise/leds.h @@ -16,10 +16,4 @@ #pragma once -#include "quantum.h" -#include "rgb_matrix.h" - extern const uint8_t led_map[DRIVER_LED_TOTAL]; - -void set_all_leds_to(uint8_t r, uint8_t g, uint8_t b); -void set_led_to(int led, uint8_t r, uint8_t g, uint8_t b); diff --git a/keyboards/handwired/dygma/raise/post_rules.mk b/keyboards/handwired/dygma/raise/post_rules.mk new file mode 100644 index 0000000000..c6b77f75b3 --- /dev/null +++ b/keyboards/handwired/dygma/raise/post_rules.mk @@ -0,0 +1,3 @@ +ifeq ($(strip $(RGB_MATRIX_ENABLE)), yes) + SRC += leds.c +endif diff --git a/keyboards/handwired/dygma/raise/raise.c b/keyboards/handwired/dygma/raise/raise.c index d9023093b5..39e94e2e76 100644 --- a/keyboards/handwired/dygma/raise/raise.c +++ b/keyboards/handwired/dygma/raise/raise.c @@ -17,6 +17,5 @@ #include "raise.h" void keyboard_post_init_kb(void) { - set_all_leds_to(0, 0, 0); keyboard_post_init_user(); } diff --git a/keyboards/handwired/dygma/raise/rules.mk b/keyboards/handwired/dygma/raise/rules.mk index b7ff577361..ce7a89af8e 100644 --- a/keyboards/handwired/dygma/raise/rules.mk +++ b/keyboards/handwired/dygma/raise/rules.mk @@ -10,7 +10,7 @@ BOOTLOADER = stm32-dfu # BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys -EXTRAKEY_ENABLE = no # Audio control and System control +EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug COMMAND_ENABLE = no # Commands for debug and configuration NKRO_ENABLE = no # Enable N-Key Rollover @@ -28,6 +28,6 @@ CUSTOM_MATRIX = lite RAW_ENABLE = yes QUANTUM_LIB_SRC += i2c_master.c -SRC += leds.c matrix.c +SRC += matrix.c DEFAULT_FOLDER = handwired/dygma/raise/ansi diff --git a/keyboards/handwired/hwpm87/config.h b/keyboards/handwired/hwpm87/config.h new file mode 100644 index 0000000000..60ef15ab44 --- /dev/null +++ b/keyboards/handwired/hwpm87/config.h @@ -0,0 +1,29 @@ +// Copyright 2022 CAO THAI DUONG (@KD-MM2) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#include "config_common.h" + + +/* key matrix size */ +#define MATRIX_ROWS 6 +#define MATRIX_COLS 18 + +/* + * Keyboard Matrix Assignments + * + * Change this to how you wired your keyboard + * COLS: AVR pins used for columns, left to right + * ROWS: AVR pins used for rows, top to bottom + * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) + * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) + * + */ +#define DIODE_DIRECTION ROW2COL + +#define MATRIX_ROW_PINS { B0, B1, B2, B3, B4, B5 } +#define MATRIX_COL_PINS { D3, D2, D1, D0, D4, C6, D7, E6, B7, F0, F1, D6, C7, B6, F7, F6, F5, F4 } + +#define LED_CAPS_LOCK_PIN D5 +#define LED_PIN_ON_STATE 0 diff --git a/keyboards/handwired/hwpm87/hwpm87.c b/keyboards/handwired/hwpm87/hwpm87.c new file mode 100644 index 0000000000..9edc09c971 --- /dev/null +++ b/keyboards/handwired/hwpm87/hwpm87.c @@ -0,0 +1,4 @@ +// Copyright 2022 CAO THAI DUONG (@KD-MM2) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "hwpm87.h" diff --git a/keyboards/handwired/hwpm87/hwpm87.h b/keyboards/handwired/hwpm87/hwpm87.h new file mode 100644 index 0000000000..7de32eaa8c --- /dev/null +++ b/keyboards/handwired/hwpm87/hwpm87.h @@ -0,0 +1,24 @@ +// Copyright 2022 CAO THAI DUONG (@KD-MM2) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#include "quantum.h" + +#define XXX KC_NO + +#define LAYOUT( \ + K00, K02, K03, K04, K05, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G, K0H, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1E, K1F, K1G, K1H, \ + K20, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G, K2H, \ + K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, \ + K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4D, K4G, \ + K50, K51, K53, K56, K5A, K5B, K5D, K5E, K5F, K5G, K5H \ +) { \ + { K00, XXX, K02, K03, K04, K05, XXX, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G, K0H }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, XXX, K1E, K1F, K1G, K1H }, \ + { K20, XXX, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G, K2H }, \ + { K30, XXX, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, XXX, XXX, XXX, XXX }, \ + { XXX, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, XXX, K4D, XXX, XXX, K4G, XXX }, \ + { K50, K51, XXX, K53, XXX, XXX, K56, XXX, XXX, XXX, K5A, K5B, XXX, K5D, K5E, K5F, K5G, K5H }, \ +} diff --git a/keyboards/handwired/hwpm87/info.json b/keyboards/handwired/hwpm87/info.json new file mode 100644 index 0000000000..90d8ad397c --- /dev/null +++ b/keyboards/handwired/hwpm87/info.json @@ -0,0 +1,105 @@ +{ + "manufacturer": "KD-MM2", + "keyboard_name": "hwpm87", + "maintainer": "KD-MM2", + "url": "", + "usb": { + "vid": "0xFEED", + "pid": "0x0001", + "device_version": "0.0.1" + }, + "layouts": { + "LAYOUT": { + "layout": [ + { "label": "K00 (B0,D3)", "x": 0, "y": 0 }, + { "label": "K02 (B0,D1)", "x": 2, "y": 0 }, + { "label": "K03 (B0,D0)", "x": 3, "y": 0 }, + { "label": "K04 (B0,D4)", "x": 4, "y": 0 }, + { "label": "K05 (B0,C6)", "x": 5, "y": 0 }, + { "label": "K07 (B0,E6)", "x": 6.5, "y": 0 }, + { "label": "K08 (B0,B7)", "x": 7.5, "y": 0 }, + { "label": "K09 (B0,F0)", "x": 8.5, "y": 0 }, + { "label": "K0A (B0,F1)", "x": 9.5, "y": 0 }, + { "label": "K0B (B0,D5)", "x": 11, "y": 0 }, + { "label": "K0C (B0,D6)", "x": 12, "y": 0 }, + { "label": "K0D (B0,C7)", "x": 13, "y": 0 }, + { "label": "K0E (B0,E2)", "x": 14, "y": 0 }, + { "label": "K0F (B0,B6)", "x": 15.25, "y": 0 }, + { "label": "K0G (B0,F7)", "x": 16.25, "y": 0 }, + { "label": "K0H (B0,F6)", "x": 17.25, "y": 0 }, + { "label": "K10 (B1,D3)", "x": 0, "y": 1 }, + { "label": "K11 (B1,D2)", "x": 1, "y": 1 }, + { "label": "K12 (B1,D1)", "x": 2, "y": 1 }, + { "label": "K13 (B1,D0)", "x": 3, "y": 1 }, + { "label": "K14 (B1,D4)", "x": 4, "y": 1 }, + { "label": "K15 (B1,C6)", "x": 5, "y": 1 }, + { "label": "K16 (B1,D7)", "x": 6, "y": 1 }, + { "label": "K17 (B1,E6)", "x": 7, "y": 1 }, + { "label": "K18 (B1,B7)", "x": 8, "y": 1 }, + { "label": "K19 (B1,F0)", "x": 9, "y": 1 }, + { "label": "K1A (B1,F1)", "x": 10, "y": 1 }, + { "label": "K1B (B1,D5)", "x": 11, "y": 1 }, + { "label": "K1C (B1,D6)", "x": 12, "y": 1 }, + { "label": "K1E (B1,E2)", "x": 13, "y": 1, "w": 2 }, + { "label": "K1F (B1,B6)", "x": 15.25, "y": 1 }, + { "label": "K1G (B1,F7)", "x": 16.25, "y": 1 }, + { "label": "K1H (B1,F6)", "x": 17.25, "y": 1 }, + { "label": "K20 (B2,D3)", "x": 0, "y": 2, "w": 1.5 }, + { "label": "K22 (B2,D1)", "x": 1.5, "y": 2 }, + { "label": "K23 (B2,D0)", "x": 2.5, "y": 2 }, + { "label": "K24 (B2,D4)", "x": 3.5, "y": 2 }, + { "label": "K25 (B2,C6)", "x": 4.5, "y": 2 }, + { "label": "K26 (B2,D7)", "x": 5.5, "y": 2 }, + { "label": "K27 (B2,E6)", "x": 6.5, "y": 2 }, + { "label": "K28 (B2,B7)", "x": 7.5, "y": 2 }, + { "label": "K29 (B2,F0)", "x": 8.5, "y": 2 }, + { "label": "K2A (B2,F1)", "x": 9.5, "y": 2 }, + { "label": "K2B (B2,D5)", "x": 10.5, "y": 2 }, + { "label": "K2C (B2,D6)", "x": 11.5, "y": 2 }, + { "label": "K2D (B2,C7)", "x": 12.5, "y": 2 }, + { "label": "K2E (B2,E2)", "x": 13.5, "y": 2, "w": 1.5 }, + { "label": "K2F (B2,B6)", "x": 15.25, "y": 2 }, + { "label": "K2G (B2,F7)", "x": 16.25, "y": 2 }, + { "label": "K2H (B2,F6)", "x": 17.25, "y": 2 }, + { "label": "K30 (B3,D3)", "x": 0, "y": 3, "w": 1.75 }, + { "label": "K32 (B3,D1)", "x": 1.75, "y": 3 }, + { "label": "K33 (B3,D0)", "x": 2.75, "y": 3 }, + { "label": "K34 (B3,D4)", "x": 3.75, "y": 3 }, + { "label": "K35 (B3,C6)", "x": 4.75, "y": 3 }, + { "label": "K36 (B3,D7)", "x": 5.75, "y": 3 }, + { "label": "K37 (B3,E6)", "x": 6.75, "y": 3 }, + { "label": "K38 (B3,B7)", "x": 7.75, "y": 3 }, + { "label": "K39 (B3,F0)", "x": 8.75, "y": 3 }, + { "label": "K3A (B3,F1)", "x": 9.75, "y": 3 }, + { "label": "K3B (B3,D5)", "x": 10.75, "y": 3 }, + { "label": "K3C (B3,D6)", "x": 11.75, "y": 3 }, + { "label": "K3D (B3,C7)", "x": 12.75, "y": 3, "w": 2.25 }, + { "label": "K41 (B4,D2)", "x": 0, "y": 4, "w": 2.25 }, + { "label": "K42 (B4,D1)", "x": 2.25, "y": 4 }, + { "label": "K43 (B4,D0)", "x": 3.25, "y": 4 }, + { "label": "K44 (B4,D4)", "x": 4.25, "y": 4 }, + { "label": "K45 (B4,C6)", "x": 5.25, "y": 4 }, + { "label": "K46 (B4,D7)", "x": 6.25, "y": 4 }, + { "label": "K47 (B4,E6)", "x": 7.25, "y": 4 }, + { "label": "K48 (B4,B7)", "x": 8.25, "y": 4 }, + { "label": "K49 (B4,F0)", "x": 9.25, "y": 4 }, + { "label": "K4A (B4,F1)", "x": 10.25, "y": 4 }, + { "label": "K4B (B4,D5)", "x": 11.25, "y": 4 }, + { "label": "K4D (B4,C7)", "x": 12.25, "y": 4, "w": 2.75 }, + { "label": "K4G (B4,F7)", "x": 16.25, "y": 4 }, + { "label": "K50 (B5,D3)", "x": 0, "y": 5, "w": 1.25 }, + { "label": "K51 (B5,D2)", "x": 1.25, "y": 5, "w": 1.25 }, + { "label": "K53 (B5,D0)", "x": 2.5, "y": 5, "w": 1.25 }, + { "label": "K56 (B5,D7)", "x": 3.75, "y": 5, "w": 6.25 }, + { "label": "K5A (B5,F1)", "x": 10, "y": 5, "w": 1.25 }, + { "label": "K5B (B5,D5)", "x": 11.25, "y": 5, "w": 1.25 }, + { "label": "K5D (B5,C7)", "x": 12.5, "y": 5, "w": 1.25 }, + { "label": "K5E (B5,E2)", "x": 13.75, "y": 5, "w": 1.25 }, + { "label": "K5F (B5,B6)", "x": 15.25, "y": 5 }, + { "label": "K5G (B5,F7)", "x": 16.25, "y": 5 }, + { "label": "K5H (B5,F6)", "x": 17.25, "y": 5 } + ] + } + } + +} diff --git a/keyboards/handwired/hwpm87/keymaps/default/keymap.c b/keyboards/handwired/hwpm87/keymaps/default/keymap.c new file mode 100644 index 0000000000..850acd2025 --- /dev/null +++ b/keyboards/handwired/hwpm87/keymaps/default/keymap.c @@ -0,0 +1,26 @@ +// Copyright 2022 CAO THAI DUONG (@KD-MM2) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [0] = LAYOUT( /* BASE Layer */ + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS, + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + + [1] = LAYOUT( /* MO(Fn) Layer */ + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_MPRV, KC_MNXT, KC_MPLY, KC_MSTP, KC_MUTE, KC_VOLD, KC_VOLU, KC_NO, KC_NO, KC_NO, KC_NO, + KC_NO, KC_LNG2, KC_LNG1, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO + ) + +}; diff --git a/keyboards/handwired/hwpm87/readme.md b/keyboards/handwired/hwpm87/readme.md new file mode 100644 index 0000000000..f0f4b3db2e --- /dev/null +++ b/keyboards/handwired/hwpm87/readme.md @@ -0,0 +1,35 @@ +# Handwired 87 keys + +![hwpm87](https://i.imgur.com/DLqdtAWh.jpeg) + +Repaired from 87 keys keyboard using a Pro Micro + +* Keyboard Maintainer: [KD-MM2](https://github.com/KD-MM2) +* Hardware Supported: Pro Micro(need to solder more pins) or any board with ATMega32u4 +* Hardware Availability: N/A (private board, might open source) + +First, if you have Pro Micro + Checkout these image for more: ![Pin map](https://i.imgur.com/SvZ9rGQ.jpeg) ![Usabled Pins](https://i.imgur.com/Nr4cWP5.jpeg) + Keymaps/Handwiring: ![Handwiring](https://i.imgur.com/G1izHd6.png) +If you have 25 GPIOs board, there is nothing to do. + +Second, if you are using a Capslock LED, define LED pin in: [config.h#34](https://github.com/KD-MM2/qmk_firmware/blob/hwpm87/keyboards/hwpm87/config.h#L34), +and check the LED_PIN_ON_STATE if you get reversed led state: [config.h#35](https://github.com/KD-MM2/qmk_firmware/blob/hwpm87/keyboards/hwpm87/config.h#L35) + +Make example for this keyboard (after setting up your build environment): + + make handwired/hwpm87:default + +Flashing example for this keyboard: + + make handwired/hwpm87: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 key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard +* **Physical reset button**: Plug cable, open QMK Toolbox and short RST pin and GND pin, then you will see it in flashmode +* **Keycode in layout**: Press the key mapped to `RESET` if it is available diff --git a/keyboards/handwired/hwpm87/rules.mk b/keyboards/handwired/hwpm87/rules.mk new file mode 100644 index 0000000000..7f42dae592 --- /dev/null +++ b/keyboards/handwired/hwpm87/rules.mk @@ -0,0 +1,20 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +MOUSEKEY_ENABLE = no # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +NKRO_ENABLE = no # Enable N-Key Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +AUDIO_ENABLE = no # Audio output + + diff --git a/keyboards/handwired/jscotto/scotto9/info.json b/keyboards/handwired/jscotto/scotto9/info.json new file mode 100644 index 0000000000..09ae9eea77 --- /dev/null +++ b/keyboards/handwired/jscotto/scotto9/info.json @@ -0,0 +1,48 @@ +{ + "manufacturer": "Joe Scotto", + "keyboard_name": "Scotto9", + "maintainer": "joe-scotto", + "bootloader": "caterina", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "matrix_pins": { + // 4, 5, 6 + "cols": ["D4", "C6", "D7"], + + // 15, 14, 16 + "rows": ["B1", "B3", "B2"] + }, + "processor": "atmega32u4", + "url": "", + "usb": { + "device_version": "1.0.0", + "pid": "0x0000", + "vid": "0xFEED" + }, + "layouts": { + "LAYOUT_ortho_3x3": { + "layout": [ + { "matrix": [0, 0], "x": 0, "y": 0 }, + { "matrix": [0, 1], "x": 1, "y": 0 }, + { "matrix": [0, 2], "x": 2, "y": 0 } + + // Row 2 + { "matrix": [1, 0], "x": 0, "y": 1 }, + { "matrix": [1, 1], "x": 1, "y": 1 }, + { "matrix": [1, 2], "x": 2, "y": 1 } + + // Row 3 + { "matrix": [2, 0], "x": 0, "y": 2 }, + { "matrix": [2, 1], "x": 1, "y": 2 }, + { "matrix": [2, 2], "x": 2, "y": 2 } + ] + } + } +} diff --git a/keyboards/handwired/jscotto/scotto9/keymaps/default/keymap.c b/keyboards/handwired/jscotto/scotto9/keymaps/default/keymap.c new file mode 100644 index 0000000000..eec8d684ad --- /dev/null +++ b/keyboards/handwired/jscotto/scotto9/keymaps/default/keymap.c @@ -0,0 +1,27 @@ +/* +Copyright 2022 Joe Scotto + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +#include QMK_KEYBOARD_H + +// Keymap +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_ortho_3x3( + KC_1, KC_2, KC_3, + KC_4, KC_5, KC_6, + KC_7, KC_8, KC_9 + ) +}; diff --git a/keyboards/handwired/jscotto/scotto9/readme.md b/keyboards/handwired/jscotto/scotto9/readme.md new file mode 100644 index 0000000000..2e5291cba7 --- /dev/null +++ b/keyboards/handwired/jscotto/scotto9/readme.md @@ -0,0 +1,25 @@ +# Scotto9 + +![Scotto9](https://imgur.com/inbmNSEh.jpeg) + +A 9 key handwired macropad. Case files available [here](https://github.com/joe-scotto/keyboards.git). + +- Keyboard Maintainer: [Joe Scotto](https://github.com/joe-scotto) +- Hardware Supported: ATmega32U4 +- Hardware Availability: [Amazon](https://amazon.com) + +# Compiling + +Make example for this keyboard (after setting up your build environment): + + make handwired/jscotto/scotto9:default + +Flashing example for this keyboard: + + make handwired/jscotto/scotto9:default + +# Bootloader + +Uses [bootmagic](https://github.com/qmk/qmk_firmware/blob/master/docs/feature_bootmagic.md) allowing you to hold the top left key (0, 0) when plugging the board in to enter bootloader mode. + +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). diff --git a/keyboards/handwired/jscotto/scotto9/rules.mk b/keyboards/handwired/jscotto/scotto9/rules.mk new file mode 100644 index 0000000000..6e7633bfe0 --- /dev/null +++ b/keyboards/handwired/jscotto/scotto9/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank diff --git a/keyboards/handwired/osborne1/config.h b/keyboards/handwired/osborne1/config.h new file mode 100644 index 0000000000..1e21a30db0 --- /dev/null +++ b/keyboards/handwired/osborne1/config.h @@ -0,0 +1,24 @@ +// Copyright 2022 Nick Lopez <github@glowingmonkey.org> +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +/* + * Feature disable options + * These options are also useful to firmware size reduction. + */ + +/* disable debug print */ +//#define NO_DEBUG + +/* disable print */ +//#define NO_PRINT + +/* disable action features */ +//#define NO_ACTION_LAYER +//#define NO_ACTION_TAPPING +//#define NO_ACTION_ONESHOT + +#define BLUEFRUIT_LE_RST_PIN D4 +#define BLUEFRUIT_LE_CS_PIN B4 +#define BLUEFRUIT_LE_IRQ_PIN E6 diff --git a/keyboards/handwired/osborne1/info.json b/keyboards/handwired/osborne1/info.json new file mode 100644 index 0000000000..e9a2de9552 --- /dev/null +++ b/keyboards/handwired/osborne1/info.json @@ -0,0 +1,88 @@ +{ + "manufacturer": "crackmonkey", + "keyboard_name": "osborne1", + "maintainer": "crackmonkey", + "bootloader": "atmel-dfu", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "command": false, + "console": true, + "extrakey": false, + "mousekey": false, + "nkro": false + }, + "matrix_pins": { + "cols": ["D3", "D2", "F0", "F1", "F4", "F5", "F6", "F7"], + "rows": ["D0", "B7", "B5", "C6", "D1", "B6", "D7", "D6"] + }, + "processor": "atmega32u4", + "url": "", + "usb": { + "device_version": "1.0.0", + "pid": "0x239A", + "vid": "0x800C" + }, + "layouts": { + "LAYOUT_64_ansi": { + "layout": [ + { "matrix": [0, 0], "label": "ESC", "x": 0, "y": 0 }, + { "matrix": [1, 0], "label": "1", "x": 1, "y": 0 }, + { "matrix": [1, 1], "label": "2", "x": 2, "y": 0 }, + { "matrix": [1, 2], "label": "3", "x": 3, "y": 0 }, + { "matrix": [1, 3], "label": "4", "x": 4, "y": 0 }, + { "matrix": [1, 4], "label": "5", "x": 5, "y": 0 }, + { "matrix": [1, 5], "label": "6", "x": 6, "y": 0 }, + { "matrix": [1, 6], "label": "7", "x": 7, "y": 0 }, + { "matrix": [1, 7], "label": "8", "x": 8, "y": 0 }, + { "matrix": [5, 7], "label": "9", "x": 9, "y": 0 }, + { "matrix": [5, 2], "label": "0", "x": 10, "y": 0 }, + { "matrix": [6, 2], "label": "-", "x": 11, "y": 0 }, + { "matrix": [6, 7], "label": "=", "x": 12, "y": 0 }, + { "matrix": [0, 7], "label": "[", "x": 13, "y": 0 }, + { "matrix": [5, 0], "label": "Up", "x": 14, "y": 0 }, + { "matrix": [0, 1], "label": "TAB", "x": 0, "y": 1 }, + { "matrix": [2, 0], "label": "Q", "x": 1, "y": 1 }, + { "matrix": [2, 1], "label": "W", "x": 2, "y": 1 }, + { "matrix": [2, 2], "label": "E", "x": 3, "y": 1 }, + { "matrix": [2, 3], "label": "R", "x": 4, "y": 1 }, + { "matrix": [2, 4], "label": "T", "x": 5, "y": 1 }, + { "matrix": [2, 5], "label": "Y", "x": 6, "y": 1 }, + { "matrix": [2, 6], "label": "U", "x": 7, "y": 1 }, + { "matrix": [2, 7], "label": "I", "x": 8, "y": 1 }, + { "matrix": [5, 6], "label": "O", "x": 9, "y": 1 }, + { "matrix": [5, 5], "label": "P", "x": 10, "y": 1 }, + { "matrix": [6, 5], "label": "Backslash", "x": 11, "y": 1 }, + { "matrix": [0, 6], "label": "Quote", "x": 12, "y": 1 }, + { "matrix": [5, 1], "label": "Left", "x": 13, "y": 1 }, + { "matrix": [6, 0], "label": "Right", "x": 14, "y": 1 }, + { "matrix": [0, 2], "label": "Control", "x": 0, "y": 2 }, + { "matrix": [7, 3], "label": "Capslock", "x": 1, "y": 2 }, + { "matrix": [3, 0], "label": "A", "x": 2, "y": 2 }, + { "matrix": [3, 1], "label": "S", "x": 3, "y": 2 }, + { "matrix": [3, 2], "label": "D", "x": 4, "y": 2 }, + { "matrix": [3, 3], "label": "F", "x": 5, "y": 2 }, + { "matrix": [3, 4], "label": "G", "x": 6, "y": 2 }, + { "matrix": [3, 5], "label": "H", "x": 7, "y": 2 }, + { "matrix": [3, 6], "label": "J", "x": 8, "y": 2 }, + { "matrix": [3, 7], "label": "K", "x": 9, "y": 2 }, + { "matrix": [6, 6], "label": "L", "x": 10, "y": 2 }, + { "matrix": [6, 4], "label": "Semicolon", "x": 11, "y": 2 }, + { "matrix": [0, 5], "label": "Return", "x": 12, "y": 2 }, + { "matrix": [6, 1], "label": "Down", "x": 13, "y": 2 }, + { "matrix": [0, 4], "label": "LShift", "x": 0, "y": 3 }, + { "matrix": [4, 0], "label": "Z", "x": 1, "y": 3 }, + { "matrix": [4, 1], "label": "X", "x": 2, "y": 3 }, + { "matrix": [4, 2], "label": "C", "x": 3, "y": 3 }, + { "matrix": [4, 3], "label": "V", "x": 4, "y": 3 }, + { "matrix": [4, 4], "label": "B", "x": 5, "y": 3 }, + { "matrix": [4, 5], "label": "N", "x": 6, "y": 3 }, + { "matrix": [4, 6], "label": "M", "x": 7, "y": 3 }, + { "matrix": [4, 7], "label": "Comma", "x": 8, "y": 3 }, + { "matrix": [5, 4], "label": "Period", "x": 9, "y": 3 }, + { "matrix": [6, 3], "label": "Slash", "x": 10, "y": 3 }, + { "matrix": [5, 3], "label": "Space", "x": 0, "y": 4 } + ] + } + } +} diff --git a/keyboards/handwired/osborne1/keymaps/default/keymap.c b/keyboards/handwired/osborne1/keymaps/default/keymap.c new file mode 100644 index 0000000000..53b71cfc0b --- /dev/null +++ b/keyboards/handwired/osborne1/keymaps/default/keymap.c @@ -0,0 +1,36 @@ +/* Copyright 2020 Nick Lopez <github@glowingmonkey.org> + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ +#include QMK_KEYBOARD_H + + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_64_ansi( + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_LBRC, KC_UP, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS, KC_QUOT, KC_LEFT, KC_RGHT, + KC_LCTL, MO(1), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT, KC_DOWN, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, + KC_SPC + ), + [1] = LAYOUT_64_ansi( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_BSPC, KC_DEL, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGDN, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______ + ) +}; + + diff --git a/keyboards/handwired/osborne1/readme.md b/keyboards/handwired/osborne1/readme.md new file mode 100644 index 0000000000..db8c161549 --- /dev/null +++ b/keyboards/handwired/osborne1/readme.md @@ -0,0 +1,25 @@ +# osborne1 + +![osborne1](https://i.imgur.com/221nQ5Eh.jpeg) + +The Osborne keyboard doesn't contain any electronics, so the pins of the 8x8 keyboard matrix are easily available right on the normal connector. 17 jumper wires and a Feather BlueFruit is all the additional hardware needed. + +* Keyboard Maintainer: [crackmonkey](https://github.com/crackmonkey) +* Hardware Supported: Adafruit Feather BlueFruit 32u4 +* Hardware Availability: E-waste + +Make example for this keyboard (after setting up your build environment): + + make osborne1:default + +Flashing example for this keyboard: + + make osborne1: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: + +* **Physical reset button**: Briefly press the button on the Feather diff --git a/keyboards/handwired/osborne1/rules.mk b/keyboards/handwired/osborne1/rules.mk new file mode 100644 index 0000000000..2bf3fe5811 --- /dev/null +++ b/keyboards/handwired/osborne1/rules.mk @@ -0,0 +1,2 @@ +BLUETOOTH_ENABLE = yes +BLUETOOTH_DRIVER = BluefruitLE |