diff --git a/keyboards/jlw/bruce_le_clavier/info.json b/keyboards/jlw/bruce_le_clavier/info.json new file mode 100644 index 0000000000..d1e5173b81 --- /dev/null +++ b/keyboards/jlw/bruce_le_clavier/info.json @@ -0,0 +1,76 @@ +{ + "keyboard_name": "Bruce the Keyboard", + "manufacturer": "jlw", + "url": "https://github.com/josh-l-wang/Bruce-the-Keyboard-the-Resources", + "maintainer": "jlw", + "usb": { + "vid": "0x1209", + "pid": "0xA459", + "device_version": "0.0.1" + }, + "processor": "STM32F072", + "bootloader": "stm32-dfu", + "diode_direction": "COL2ROW", + "matrix_pins": { + "cols": ["B1", "B0", "A7", "A4", "A3", "B7", "B6", "B5", "B4", "B3", "B14"], + "rows": ["B11", "B9", "A5", "A6", "B15"] + }, + "features": { + "bootmagic": true, + "extrakey": true, + "mousekey": true, + "nkro": true, + "encoder_map": true + }, + "encoder": { + "rotary": [{"pin_a": "B12", "pin_b": "B13"}] + }, + "ws2812": { + "pin": "B8" + }, + "layouts": { + "LAYOUT": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0, "h":1.75}, + {"matrix": [0, 1], "x": 1, "y": 0, "h":1.5}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0, "h":1.25}, + {"matrix": [0, 4], "x": 4, "y": 0, "h":1.25}, + {"matrix": [0, 5], "x": 5, "y": 0, "h":1.25}, + {"matrix": [0, 6], "x": 6, "y": 0, "h":1.25}, + {"matrix": [0, 7], "x": 7, "y": 0}, + {"matrix": [0, 8], "x": 8, "y": 0, "h":1.5}, + {"matrix": [0, 9], "x": 9, "y": 0, "h":1.75}, + + {"matrix": [1, 0], "x": 0, "y": 1.75}, + {"matrix": [1, 1], "x": 1, "y": 1.5}, + {"matrix": [1, 2], "x": 2, "y": 1}, + {"matrix": [1, 3], "x": 3, "y": 1.25}, + {"matrix": [1, 4], "x": 4, "y": 1.25}, + {"matrix": [1, 5], "x": 5, "y": 1.25}, + {"matrix": [1, 6], "x": 6, "y": 1.25}, + {"matrix": [1, 7], "x": 7, "y": 1}, + {"matrix": [1, 8], "x": 8, "y": 1.5}, + {"matrix": [1, 9], "x": 9, "y": 1.75}, + + {"matrix": [2, 0], "x": 0, "y": 2.75, "h":1.5}, + {"matrix": [2, 1], "x": 1, "y": 2.5, "h":1.75}, + {"matrix": [2, 2], "x": 2, "y": 2, "h":1.25}, + {"matrix": [2, 3], "x": 3, "y": 2.25}, + {"matrix": [2, 4], "x": 4, "y": 2.25}, + {"matrix": [2, 5], "x": 5, "y": 2.25}, + {"matrix": [2, 6], "x": 6, "y": 2.25}, + {"matrix": [2, 7], "x": 7, "y": 2, "h":1.25}, + {"matrix": [2, 8], "x": 8, "y": 2.5, "h":1.75}, + {"matrix": [2, 9], "x": 9, "y": 2.75, "h":1.5}, + + {"matrix": [3, 2], "x": 2, "y": 3.25}, + {"matrix": [3, 3], "x": 3, "y": 3.25, "w": 2}, + {"matrix": [3, 5], "x": 5, "y": 3.25, "w": 2}, + {"matrix": [3, 7], "x": 7, "y": 3.25}, + + {"matrix": [4, 10], "x": 4, "y": 4} + ] + } + } +} diff --git a/keyboards/jlw/bruce_le_clavier/keymaps/default/keymap.c b/keyboards/jlw/bruce_le_clavier/keymaps/default/keymap.c new file mode 100644 index 0000000000..01ac81a49b --- /dev/null +++ b/keyboards/jlw/bruce_le_clavier/keymaps/default/keymap.c @@ -0,0 +1,52 @@ +// Copyright 2023 jlw +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +#define HM_A LGUI_T(KC_A) +#define HM_R LALT_T(KC_R) +#define HM_S LCTL_T(KC_S) + +#define HM_E RCTL_T(KC_E) +#define HM_I LALT_T(KC_I) +#define HM_O LGUI_T(KC_O) + + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT( + KC_Q, KC_W, KC_F, KC_P, KC_B, QK_BOOT, KC_J, KC_L, KC_U, KC_Y, KC_QUOT, + HM_A, HM_R, HM_S, KC_T, KC_G, KC_M, KC_N, HM_E, HM_I, HM_O, + KC_Z, KC_X, KC_C, KC_D, KC_V, KC_K, KC_H, KC_COMM, KC_DOT, KC_SLSH, + LT(3, KC_TAB), SFT_T(KC_BSPC), LT(1, KC_SPC), LT(2,KC_ENT) + ), + + [1] = LAYOUT( + KC_GRAVE, KC_F2, XXXXXXX, KC_F4, KC_F5, XXXXXXX, KC_BSLS, KC_MINUS, KC_EQUAL, KC_LBRC, KC_RBRC, + KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, + DF(0), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, DF(1), XXXXXXX, _______, _______, KC_SCLN, + _______, _______, _______, _______ + ), + + [2] = LAYOUT( + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_F11, KC_F12, XXXXXXX, XXXXXXX, + KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, + DF(0), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, DF(2), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + _______, _______, _______, _______ + ), + [3] = LAYOUT( + XXXXXXX, XXXXXXX, LSG(KC_4),LSG(KC_S),XXXXXXX, XXXXXXX, KC_HOME, XXXXXXX, KC_UP, XXXXXXX, KC_PGUP, + KC_LGUI, KC_LALT, KC_LCTL, KC_LGUI, XXXXXXX, KC_END, KC_LEFT, KC_DOWN, KC_RIGHT, KC_PGDN, + DF(0), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, DF(2), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + _______, _______, _______, _______ + ) +}; + +// Encoder Map +#ifdef ENCODER_MAP_ENABLE + const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + [0] = { ENCODER_CCW_CW(S(KC_F2), KC_F2) }, + [1] = { ENCODER_CCW_CW(KC_VOLU, KC_VOLD) }, + [2] = { ENCODER_CCW_CW(_______, _______) }, + [3] = { ENCODER_CCW_CW(_______, _______) } + }; +#endif diff --git a/keyboards/jlw/bruce_le_clavier/keymaps/default/rules.mk b/keyboards/jlw/bruce_le_clavier/keymaps/default/rules.mk new file mode 100644 index 0000000000..17ab7c1dcc --- /dev/null +++ b/keyboards/jlw/bruce_le_clavier/keymaps/default/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank. \ No newline at end of file diff --git a/keyboards/jlw/bruce_le_clavier/keymaps/vial/config.h b/keyboards/jlw/bruce_le_clavier/keymaps/vial/config.h new file mode 100644 index 0000000000..aabbee30d6 --- /dev/null +++ b/keyboards/jlw/bruce_le_clavier/keymaps/vial/config.h @@ -0,0 +1,10 @@ +/* SPDX-License-Identifier: GPL-2.0-or-later */ + +#pragma once + +#define VIAL_KEYBOARD_UID {0x5F, 0xAD, 0x10, 0x37, 0x92, 0xA3, 0xA7, 0x6A} +#define VIAL_UNLOCK_COMBO_ROWS { 0, 2 } +#define VIAL_UNLOCK_COMBO_COLS { 0, 9 } + +#define VIAL_COMBO_ENTRIES 69 +#define DYNAMIC_KEYMAP_LAYER_COUNT 8 diff --git a/keyboards/jlw/bruce_le_clavier/keymaps/vial/keymap.c b/keyboards/jlw/bruce_le_clavier/keymaps/vial/keymap.c new file mode 100644 index 0000000000..01ac81a49b --- /dev/null +++ b/keyboards/jlw/bruce_le_clavier/keymaps/vial/keymap.c @@ -0,0 +1,52 @@ +// Copyright 2023 jlw +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +#define HM_A LGUI_T(KC_A) +#define HM_R LALT_T(KC_R) +#define HM_S LCTL_T(KC_S) + +#define HM_E RCTL_T(KC_E) +#define HM_I LALT_T(KC_I) +#define HM_O LGUI_T(KC_O) + + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT( + KC_Q, KC_W, KC_F, KC_P, KC_B, QK_BOOT, KC_J, KC_L, KC_U, KC_Y, KC_QUOT, + HM_A, HM_R, HM_S, KC_T, KC_G, KC_M, KC_N, HM_E, HM_I, HM_O, + KC_Z, KC_X, KC_C, KC_D, KC_V, KC_K, KC_H, KC_COMM, KC_DOT, KC_SLSH, + LT(3, KC_TAB), SFT_T(KC_BSPC), LT(1, KC_SPC), LT(2,KC_ENT) + ), + + [1] = LAYOUT( + KC_GRAVE, KC_F2, XXXXXXX, KC_F4, KC_F5, XXXXXXX, KC_BSLS, KC_MINUS, KC_EQUAL, KC_LBRC, KC_RBRC, + KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, + DF(0), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, DF(1), XXXXXXX, _______, _______, KC_SCLN, + _______, _______, _______, _______ + ), + + [2] = LAYOUT( + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_F11, KC_F12, XXXXXXX, XXXXXXX, + KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, + DF(0), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, DF(2), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + _______, _______, _______, _______ + ), + [3] = LAYOUT( + XXXXXXX, XXXXXXX, LSG(KC_4),LSG(KC_S),XXXXXXX, XXXXXXX, KC_HOME, XXXXXXX, KC_UP, XXXXXXX, KC_PGUP, + KC_LGUI, KC_LALT, KC_LCTL, KC_LGUI, XXXXXXX, KC_END, KC_LEFT, KC_DOWN, KC_RIGHT, KC_PGDN, + DF(0), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, DF(2), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + _______, _______, _______, _______ + ) +}; + +// Encoder Map +#ifdef ENCODER_MAP_ENABLE + const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + [0] = { ENCODER_CCW_CW(S(KC_F2), KC_F2) }, + [1] = { ENCODER_CCW_CW(KC_VOLU, KC_VOLD) }, + [2] = { ENCODER_CCW_CW(_______, _______) }, + [3] = { ENCODER_CCW_CW(_______, _______) } + }; +#endif diff --git a/keyboards/jlw/bruce_le_clavier/keymaps/vial/rules.mk b/keyboards/jlw/bruce_le_clavier/keymaps/vial/rules.mk new file mode 100644 index 0000000000..4f7618e9b2 --- /dev/null +++ b/keyboards/jlw/bruce_le_clavier/keymaps/vial/rules.mk @@ -0,0 +1,2 @@ +VIA_ENABLE = yes +VIAL_ENABLE = yes diff --git a/keyboards/jlw/bruce_le_clavier/keymaps/vial/vial.json b/keyboards/jlw/bruce_le_clavier/keymaps/vial/vial.json new file mode 100644 index 0000000000..21db13f298 --- /dev/null +++ b/keyboards/jlw/bruce_le_clavier/keymaps/vial/vial.json @@ -0,0 +1,254 @@ +{ + "lighting": "none", + "matrix": { + "rows": 5, + "cols": 11 + }, + "layouts": { + "labels": [["Centre", "Encodeur rotatif", "Clé", "Aucun"]], + "keymap": + [ + [ + { + "y": 0.75, + "x": 5.69 + }, + "4,10\n\n\n0,0" + ], + [ + { + "x": 5.69 + }, + "0,0\n\n\n0,0\n\n\n\n\n\ne" + ], + [ + { + "x": 5.69 + }, + "0,1\n\n\n0,0\n\n\n\n\n\ne" + ], + [ + { + "y": 1.25, + "x": 0.5 + }, + "4,10\n\n\n0,1", + { + "x": 0.25, + "d": true + }, + "4,10\n\n\n0,2" + ], + [ + { + "x": 0.5, + "d": true + }, + "0,0\n\n\n0,1\n\n\n\n\n\ne", + { + "x": 0.25, + "d": true + }, + "0,0\n\n\n0,2\n\n\n\n\n\ne" + ], + [ + { + "x": 0.5, + "d": true + }, + "0,1\n\n\n0,1\n\n\n\n\n\ne", + { + "x": 0.25, + "d": true + }, + "0,1\n\n\n0,2\n\n\n\n\n\ne" + ], + [ + { + "r": 7, + "rx": 4.25, + "y": 0.5, + "x": -3.75, + "h": 1.75 + }, + "0,0", + { + "h": 1.5 + }, + "0,1", + "0,2", + { + "h": 1.25 + }, + "0,3", + { + "h": 1.25 + }, + "0,4" + ], + [ + { + "x": -1.75 + }, + "1,2" + ], + [ + { + "y": -0.75, + "x": -0.75 + }, + "1,3", + "1,4" + ], + [ + { + "y": -0.75, + "x": -2.75 + }, + "1,1" + ], + [ + { + "y": -0.75, + "x": -3.75 + }, + "1,0" + ], + [ + { + "y": -0.75, + "x": -1.75, + "h": 1.25 + }, + "2,2" + ], + [ + { + "y": -0.75, + "x": -0.75 + }, + "2,3", + "2,4" + ], + [ + { + "y": -0.75, + "x": -2.75, + "h": 1.75 + }, + "2,1" + ], + [ + { + "y": -0.75, + "x": -3.75, + "h": 1.5 + }, + "2,0" + ], + [ + { + "y": -0.5, + "x": -1.75 + }, + "3,2", + { + "w": 2 + }, + "3,3" + ], + [ + { + "r": -7, + "rx": 8.5, + "ry": 7, + "y": -6.5, + "x": -0.75, + "h": 1.25 + }, + "0,5", + { + "h": 1.25 + }, + "0,6", + "0,7", + { + "h": 1.5 + }, + "0,8", + { + "h": 1.75 + }, + "0,9" + ], + [ + { + "x": 1.25 + }, + "1,7" + ], + [ + { + "y": -0.75, + "x": -0.75 + }, + "1,5", + "1,6" + ], + [ + { + "y": -0.75, + "x": 2.25 + }, + "1,8" + ], + [ + { + "y": -0.75, + "x": 3.25 + }, + "1,9" + ], + [ + { + "y": -0.75, + "x": 1.25, + "h": 1.25 + }, + "2,7" + ], + [ + { + "y": -0.75, + "x": -0.75 + }, + "2,5", + "2,6" + ], + [ + { + "y": -0.75, + "x": 2.25, + "h": 1.75 + }, + "2,8" + ], + [ + { + "y": -0.75, + "x": 3.25, + "h": 1.5 + }, + "2,9" + ], + [ + { + "y": -0.5, + "x": -0.75, + "w": 2 + }, + "3,5", + "3,7" + ] + ] +}} diff --git a/keyboards/jlw/bruce_le_clavier/readme.md b/keyboards/jlw/bruce_le_clavier/readme.md new file mode 100644 index 0000000000..3bd1462674 --- /dev/null +++ b/keyboards/jlw/bruce_le_clavier/readme.md @@ -0,0 +1,5 @@ +# Ceci est le micrologiciel pour Bruce le clavier + +Notez bien que Bruce le clavier n'est pas un humain. + +Bruce le clavier est un clavier de 34 touches colonnaire créé par [jlw](github.com/josh-l-wang). Il y a une option d'ajouter un encodeur rotatif ou une 35ème touche au centre. diff --git a/keyboards/jlw/bruce_le_clavier/rules.mk b/keyboards/jlw/bruce_le_clavier/rules.mk new file mode 100644 index 0000000000..d4f87a8278 --- /dev/null +++ b/keyboards/jlw/bruce_le_clavier/rules.mk @@ -0,0 +1 @@ +#This file intentionally left blank diff --git a/keyboards/jlw/bruce_the_keyboard/info.json b/keyboards/jlw/bruce_the_keyboard/info.json index 6f819bb425..99022e2a86 100644 --- a/keyboards/jlw/bruce_the_keyboard/info.json +++ b/keyboards/jlw/bruce_the_keyboard/info.json @@ -1,7 +1,7 @@ { "keyboard_name": "Bruce the Keyboard", - "manufacturer": "whydobearsexplod", - "url": "https://github.com/josh-l-wang/bruce-the-keyboard", + "manufacturer": "jlw", + "url": "https://github.com/josh-l-wang/Bruce-the-Keyboard-the-Resources", "maintainer": "jlw", "usb": { "vid": "0x1209", @@ -63,6 +63,6 @@ {"matrix": [3, 7], "x": 7, "y": 3.25}, ] } - + } }