keyboard stuff
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

Added support for barracuda keyboard (#11888)

- Added default and via keymaps

authored by

knaruo and committed by
GitHub
4fe8c473 b2a0e98a

+382
+17
keyboards/barracuda/barracuda.c
··· 1 + /* Copyright 2021 knaruo 2 + * 3 + * This program is free software: you can redistribute it and/or modify 4 + * it under the terms of the GNU General Public License as published by 5 + * the Free Software Foundation, either version 2 of the License, or 6 + * (at your option) any later version. 7 + * 8 + * This program is distributed in the hope that it will be useful, 9 + * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 + * GNU General Public License for more details. 12 + * 13 + * You should have received a copy of the GNU General Public License 14 + * along with this program. If not, see <http://www.gnu.org/licenses/>. 15 + */ 16 + 17 + #include "barracuda.h"
+41
keyboards/barracuda/barracuda.h
··· 1 + /* Copyright 2021 knaruo 2 + * 3 + * This program is free software: you can redistribute it and/or modify 4 + * it under the terms of the GNU General Public License as published by 5 + * the Free Software Foundation, either version 2 of the License, or 6 + * (at your option) any later version. 7 + * 8 + * This program is distributed in the hope that it will be useful, 9 + * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 + * GNU General Public License for more details. 12 + * 13 + * You should have received a copy of the GNU General Public License 14 + * along with this program. If not, see <http://www.gnu.org/licenses/>. 15 + */ 16 + 17 + #pragma once 18 + 19 + #include "quantum.h" 20 + 21 + /* This is a shortcut to help you visually see your layout. 22 + * 23 + * The first section contains all of the arguments representing the physical 24 + * layout of the board and position of the keys. 25 + * 26 + * The second converts the arguments into a two-dimensional array which 27 + * represents the switch matrix. 28 + */ 29 + 30 + #define LAYOUT_ortho_3x11( \ 31 + L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, \ 32 + L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, \ 33 + L20, L21, L22, L23, L24, L25, R20, R21, R22, R23, R24 \ 34 + ) { \ 35 + { L00, L01, L02, L03, L04, L05 }, \ 36 + { L10, L11, L12, L13, L14, L15 }, \ 37 + { L20, L21, L22, L23, L24, L25 }, \ 38 + { KC_NO, R00, R01, R02, R03, R04 }, \ 39 + { KC_NO, R10, R11, R12, R13, R14 }, \ 40 + { KC_NO, R20, R21, R22, R23, R24 } \ 41 + }
+59
keyboards/barracuda/config.h
··· 1 + /* Copyright 2021 knaruo 2 + * 3 + * This program is free software: you can redistribute it and/or modify 4 + * it under the terms of the GNU General Public License as published by 5 + * the Free Software Foundation, either version 2 of the License, or 6 + * (at your option) any later version. 7 + * 8 + * This program is distributed in the hope that it will be useful, 9 + * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 + * GNU General Public License for more details. 12 + * 13 + * You should have received a copy of the GNU General Public License 14 + * along with this program. If not, see <http://www.gnu.org/licenses/>. 15 + */ 16 + 17 + #pragma once 18 + 19 + #include "config_common.h" 20 + 21 + /* USB Device descriptor parameter */ 22 + #define VENDOR_ID 0x6B6E 23 + #define PRODUCT_ID 0x0001 24 + #define DEVICE_VER 0x0001 25 + #define MANUFACTURER knaruo 26 + #define PRODUCT barracuda 27 + 28 + /* key matrix size */ 29 + #define MATRIX_ROWS 6 30 + #define MATRIX_COLS 6 31 + 32 + /* 33 + * Keyboard Matrix Assignments 34 + * 35 + * Change this to how you wired your keyboard 36 + * COLS: AVR pins used for columns, left to right 37 + * ROWS: AVR pins used for rows, top to bottom 38 + * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) 39 + * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) 40 + * 41 + */ 42 + #define MATRIX_ROW_PINS { C4, C5, C6, D1, D2, D3 } 43 + #define MATRIX_COL_PINS { D4, D5, D6, B0, B1, B2 } 44 + #define UNUSED_PINS 45 + 46 + /* COL2ROW, ROW2COL */ 47 + #define DIODE_DIRECTION COL2ROW 48 + 49 + /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ 50 + #define DEBOUNCE 5 51 + 52 + /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ 53 + #define LOCKING_SUPPORT_ENABLE 54 + /* Locking resynchronize hack */ 55 + #define LOCKING_RESYNC_ENABLE 56 + 57 + /* disable these deprecated features by default */ 58 + #define NO_ACTION_MACRO 59 + #define NO_ACTION_FUNCTION
+48
keyboards/barracuda/info.json
··· 1 + { 2 + "keyboard_name": "barracuda", 3 + "url": "https://github.com/knaruo/barracuda", 4 + "maintainer": "knaruo", 5 + "width": 14, 6 + "height": 3, 7 + "layouts": { 8 + "LAYOUT": { 9 + "layout": [ 10 + {"x": 0, "y": 0}, 11 + {"x": 1, "y": 0}, 12 + {"x": 2, "y": 0}, 13 + {"x": 3, "y": 0}, 14 + {"x": 4, "y": 0}, 15 + {"x": 5, "y": 0}, 16 + {"x": 9, "y": 0}, 17 + {"x": 10, "y": 0}, 18 + {"x": 11, "y": 0}, 19 + {"x": 12, "y": 0}, 20 + {"x": 13, "y": 0}, 21 + 22 + {"x": 0, "y": 1}, 23 + {"x": 1, "y": 1}, 24 + {"x": 2, "y": 1}, 25 + {"x": 3, "y": 1}, 26 + {"x": 4, "y": 1}, 27 + {"x": 5, "y": 1}, 28 + {"x": 9, "y": 1}, 29 + {"x": 10, "y": 1}, 30 + {"x": 11, "y": 1}, 31 + {"x": 12, "y": 1}, 32 + {"x": 13, "y": 1}, 33 + 34 + {"x": 0, "y": 2}, 35 + {"x": 1, "y": 2}, 36 + {"x": 2, "y": 2}, 37 + {"x": 3, "y": 2}, 38 + {"x": 4, "y": 2}, 39 + {"x": 5, "y": 2}, 40 + {"x": 9, "y": 2}, 41 + {"x": 10, "y": 2}, 42 + {"x": 11, "y": 2}, 43 + {"x": 12, "y": 2}, 44 + {"x": 13, "y": 2} 45 + ] 46 + } 47 + } 48 + }
+20
keyboards/barracuda/keymaps/default/config.h
··· 1 + /* Copyright 2021 knaruo 2 + * 3 + * This program is free software: you can redistribute it and/or modify 4 + * it under the terms of the GNU General Public License as published by 5 + * the Free Software Foundation, either version 2 of the License, or 6 + * (at your option) any later version. 7 + * 8 + * This program is distributed in the hope that it will be useful, 9 + * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 + * GNU General Public License for more details. 12 + * 13 + * You should have received a copy of the GNU General Public License 14 + * along with this program. If not, see <http://www.gnu.org/licenses/>. 15 + */ 16 + 17 + #pragma once 18 + 19 + #define TAPPING_TERM 175 // milliseconds 20 + #define IGNORE_MOD_TAP_INTERRUPT
+63
keyboards/barracuda/keymaps/default/keymap.c
··· 1 + /* Copyright 2021 knaruo 2 + * 3 + * This program is free software: you can redistribute it and/or modify 4 + * it under the terms of the GNU General Public License as published by 5 + * the Free Software Foundation, either version 2 of the License, or 6 + * (at your option) any later version. 7 + * 8 + * This program is distributed in the hope that it will be useful, 9 + * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 + * GNU General Public License for more details. 12 + * 13 + * You should have received a copy of the GNU General Public License 14 + * along with this program. If not, see <http://www.gnu.org/licenses/>. 15 + */ 16 + 17 + #include QMK_KEYBOARD_H 18 + #include "keymap_jp.h" 19 + 20 + /* keymap layers */ 21 + enum _layers { 22 + _BASE = 0, 23 + _NUM, 24 + _FN, 25 + _RESERVED, // reserved for VIA 26 + _END, // end of supported layers 27 + }; 28 + 29 + /* Keycode alias */ 30 + #define KC_CTBS RCTL_T(KC_BSPC) // Backspace + Ctrl 31 + #define KC_XWIN LWIN_T(KC_X) 32 + #define KC_SPF1 LT(_NUM, KC_SPC) // Space + NUM layer 33 + #define KC_DLF2 LT(_FN, KC_DEL) // Del + FN key layer 34 + #define KC_SFEN RSFT_T(KC_ENT) // Enter + Shift 35 + #define KC_CAD LALT(LCTL(KC_DEL)) // ctrl + alt + delete 36 + 37 + const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 38 + 39 + /* Base QWERTY key map */ 40 + [_BASE] = LAYOUT_ortho_3x11( 41 + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, /*_____*/ KC_Y, KC_U, KC_I, KC_O, KC_P, 42 + KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, /*_____*/ KC_H, KC_J, KC_K, KC_L, KC_CTBS, 43 + KC_LSFT, KC_Z, KC_XWIN, KC_C, KC_V, KC_SPF1, /*_____*/ KC_DLF2, KC_B, KC_N, KC_M, KC_SFEN 44 + ), 45 + 46 + [_NUM] = LAYOUT_ortho_3x11( 47 + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, /*_____*/ KC_6, KC_7, KC_8, KC_9, KC_0, 48 + _______, KC_TAB, JP_MINS, JP_CIRC, JP_YEN, JP_AT, /*_____*/ JP_SCLN, JP_COLN, JP_LBRC, JP_RBRC, _______, 49 + _______, _______, JP_ZKHK, KC_LALT, JP_COMM, _______, /*_____*/ _______, JP_DOT, JP_SLSH, JP_BSLS, _______ 50 + ), 51 + 52 + [_FN] = LAYOUT_ortho_3x11( 53 + _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, /*_____*/ KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, 54 + _______, KC_F11, KC_F12, _______, _______, _______, /*_____*/ KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_CAD, 55 + _______, _______, _______, _______, _______, _______, /*_____*/ _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END 56 + ), 57 + 58 + [_RESERVED] = LAYOUT_ortho_3x11( 59 + _______, _______, _______, _______, _______, _______, /*_____*/ _______, _______, _______, _______, _______, 60 + _______, _______, _______, _______, _______, _______, /*_____*/ _______, _______, _______, _______, _______, 61 + _______, _______, _______, _______, _______, _______, /*_____*/ _______, _______, _______, _______, _______ 62 + ), 63 + };
+1
keyboards/barracuda/keymaps/default/readme.md
··· 1 + # The default keymap
+20
keyboards/barracuda/keymaps/via/config.h
··· 1 + /* Copyright 2021 knaruo 2 + * 3 + * This program is free software: you can redistribute it and/or modify 4 + * it under the terms of the GNU General Public License as published by 5 + * the Free Software Foundation, either version 2 of the License, or 6 + * (at your option) any later version. 7 + * 8 + * This program is distributed in the hope that it will be useful, 9 + * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 + * GNU General Public License for more details. 12 + * 13 + * You should have received a copy of the GNU General Public License 14 + * along with this program. If not, see <http://www.gnu.org/licenses/>. 15 + */ 16 + 17 + #pragma once 18 + 19 + #define TAPPING_TERM 175 // milliseconds 20 + #define IGNORE_MOD_TAP_INTERRUPT
+63
keyboards/barracuda/keymaps/via/keymap.c
··· 1 + /* Copyright 2021 knaruo 2 + * 3 + * This program is free software: you can redistribute it and/or modify 4 + * it under the terms of the GNU General Public License as published by 5 + * the Free Software Foundation, either version 2 of the License, or 6 + * (at your option) any later version. 7 + * 8 + * This program is distributed in the hope that it will be useful, 9 + * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 + * GNU General Public License for more details. 12 + * 13 + * You should have received a copy of the GNU General Public License 14 + * along with this program. If not, see <http://www.gnu.org/licenses/>. 15 + */ 16 + 17 + #include QMK_KEYBOARD_H 18 + #include "keymap_jp.h" 19 + 20 + /* keymap layers */ 21 + enum _layers { 22 + _BASE = 0, 23 + _NUM, 24 + _FN, 25 + _RESERVED, // reserved for VIA 26 + _END, // end of supported layers 27 + }; 28 + 29 + /* Keycode alias */ 30 + #define KC_CTBS RCTL_T(KC_BSPC) // Backspace + Ctrl 31 + #define KC_XWIN LWIN_T(KC_X) 32 + #define KC_SPF1 LT(_NUM, KC_SPC) // Space + NUM layer 33 + #define KC_DLF2 LT(_FN, KC_DEL) // Del + FN key layer 34 + #define KC_SFEN RSFT_T(KC_ENT) // Enter + Shift 35 + #define KC_CAD LALT(LCTL(KC_DEL)) // ctrl + alt + delete 36 + 37 + const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 38 + 39 + /* Base QWERTY key map */ 40 + [_BASE] = LAYOUT_ortho_3x11( 41 + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, /*_____*/ KC_Y, KC_U, KC_I, KC_O, KC_P, 42 + KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, /*_____*/ KC_H, KC_J, KC_K, KC_L, KC_CTBS, 43 + KC_LSFT, KC_Z, KC_XWIN, KC_C, KC_V, KC_SPF1, /*_____*/ KC_DLF2, KC_B, KC_N, KC_M, KC_SFEN 44 + ), 45 + 46 + [_NUM] = LAYOUT_ortho_3x11( 47 + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, /*_____*/ KC_6, KC_7, KC_8, KC_9, KC_0, 48 + _______, KC_TAB, JP_MINS, JP_CIRC, JP_YEN, JP_AT, /*_____*/ JP_SCLN, JP_COLN, JP_LBRC, JP_RBRC, _______, 49 + _______, _______, JP_ZKHK, KC_LALT, JP_COMM, _______, /*_____*/ _______, JP_DOT, JP_SLSH, JP_BSLS, _______ 50 + ), 51 + 52 + [_FN] = LAYOUT_ortho_3x11( 53 + _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, /*_____*/ KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, 54 + _______, KC_F11, KC_F12, _______, _______, _______, /*_____*/ KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_CAD, 55 + _______, _______, _______, _______, _______, _______, /*_____*/ _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END 56 + ), 57 + 58 + [_RESERVED] = LAYOUT_ortho_3x11( 59 + _______, _______, _______, _______, _______, _______, /*_____*/ _______, _______, _______, _______, _______, 60 + _______, _______, _______, _______, _______, _______, /*_____*/ _______, _______, _______, _______, _______, 61 + _______, _______, _______, _______, _______, _______, /*_____*/ _______, _______, _______, _______, _______ 62 + ), 63 + };
+1
keyboards/barracuda/keymaps/via/readme.md
··· 1 + # VIA enabled keymap
+1
keyboards/barracuda/keymaps/via/rules.mk
··· 1 + VIA_ENABLE = yes
+24
keyboards/barracuda/readme.md
··· 1 + # barracuda 2 + 3 + ![barracuda](https://imgur.com/pTyxOtv.jpg) 4 + 5 + 30% Ortholinear keyboard with low profile switches 6 + 7 + * Keyboard Maintainer: [knaruo](https://github.com/knaruo) 8 + * Hardware Supported: barracuda PCB, ATmega32U2 9 + * Hardware Availability: [PCB and Plate](https://github.com/knaruo/barracuda) 10 + 11 + Getting the board into bootloader mode: 12 + 13 + To be able to flash firmware onto this board, you'll need to bring the micro controller into bootloader mode. Press the reset button (RSTSW1) on the bottom side of the PCB to enable the bootloader mode. 14 + 15 + 16 + Make example for this keyboard (after setting up your build environment): 17 + 18 + make barracuda:default 19 + 20 + Flashing example for this keyboard: 21 + 22 + make barracuda:default:flash 23 + 24 + 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).
+24
keyboards/barracuda/rules.mk
··· 1 + # MCU name 2 + MCU = atmega32u2 3 + 4 + # Bootloader selection 5 + BOOTLOADER = atmel-dfu 6 + 7 + # Build Options 8 + # change yes to no to disable 9 + # 10 + BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration 11 + MOUSEKEY_ENABLE = yes # Mouse keys 12 + EXTRAKEY_ENABLE = yes # Audio control and System control 13 + CONSOLE_ENABLE = no # Console for debug 14 + COMMAND_ENABLE = no # Commands for debug and configuration 15 + # Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE 16 + SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend 17 + # if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work 18 + NKRO_ENABLE = yes # USB Nkey Rollover 19 + BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality 20 + RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow 21 + BLUETOOTH_ENABLE = no # Enable Bluetooth 22 + AUDIO_ENABLE = no # Audio output 23 + 24 + LAYOUTS = ortho_3x11