diff options
author | Christoph Rehmann <1273098+crehmann@users.noreply.github.com> | 2022-01-10 11:33:48 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-01-10 02:33:48 -0800 |
commit | 2e19d0d7d14fef69d583886c244d3c67b3c0cc3d (patch) | |
tree | e21ec0e671f1264e5a2c30ce650894cadc8374d8 /keyboards/buzzard/keymaps/default | |
parent | d7eb09949d426af891dd9cf85ad789285422490e (diff) | |
download | qmk_firmware-2e19d0d7d14fef69d583886c244d3c67b3c0cc3d.tar.gz qmk_firmware-2e19d0d7d14fef69d583886c244d3c67b3c0cc3d.zip |
[Keyboard] Add Buzzard support (#15493)
* add buzzerd
(untested, WIP)
* configured linear actuator and fixed keymap
* configuration tweaks and added custom keymap
* add custom tapping term for home row mod
* added readme
* remove ionide folder
* added scroll function to trackpoint
* keymap reworked
* using one shot shift and removed dynamic macros
* reworked default keymap
* adapted to latest qmk changes
* remove caps word from default keymap
* use provided coding guidelines
* use get_highest_layer in favour of biton32
* fixed formatting
* remove unnecessary define statement
Diffstat (limited to 'keyboards/buzzard/keymaps/default')
-rw-r--r-- | keyboards/buzzard/keymaps/default/config.h | 39 | ||||
-rw-r--r-- | keyboards/buzzard/keymaps/default/keymap.c | 274 | ||||
-rw-r--r-- | keyboards/buzzard/keymaps/default/rules.mk | 7 |
3 files changed, 320 insertions, 0 deletions
diff --git a/keyboards/buzzard/keymaps/default/config.h b/keyboards/buzzard/keymaps/default/config.h new file mode 100644 index 0000000000..76294cf78a --- /dev/null +++ b/keyboards/buzzard/keymaps/default/config.h @@ -0,0 +1,39 @@ +// Copyright 2021 Christoph Rehmann (crehmann) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +// Configure the global tapping term (default: 200ms) +#define TAPPING_TERM 200 + +// Prevent normal rollover on alphas from accidentally triggering mods. +#define IGNORE_MOD_TAP_INTERRUPT + +// Enable rapid switch from tap to hold, disables double tap hold auto-repeat. +#define TAPPING_FORCE_HOLD + +// Apply the modifier on keys that are tapped during a short hold of a modtap +#define PERMISSIVE_HOLD + +// Using the right side as master +#define MASTER_RIGHT + +#ifdef HAPTIC_ENABLE +// this configuration has no effect because the haptic exclusion is implemented with +// __attribute__((weak)) bool get_haptic_enabled_key(uint16_t keycode, keyrecord_t *record) +// in the default keymap and reacts only to mouse clicks. +//#define NO_HAPTIC_MOD +#define NO_HAPTIC_FN +#define NO_HAPTIC_ALPHA +#define NO_HAPTIC_PUNCTUATION +#define NO_HAPTIC_NAV +#define NO_HAPTIC_NUMERIC +#define DRV_GREETING alert_750ms +#define DRV_MODE_DEFAULT sharp_tick1 +#endif + + +#ifdef PS2_MOUSE_ENABLE +#define PS2_MOUSE_SCROLL_BTN_MASK (1<<PS2_MOUSE_BTN_RIGHT) // using the right mouse button for scrolling (other buttons can be configured) +#define PS2_MOUSE_SCROLL_BTN_SEND 500 +#endif
\ No newline at end of file diff --git a/keyboards/buzzard/keymaps/default/keymap.c b/keyboards/buzzard/keymaps/default/keymap.c new file mode 100644 index 0000000000..7ca3ddc7de --- /dev/null +++ b/keyboards/buzzard/keymaps/default/keymap.c @@ -0,0 +1,274 @@ +/* Copyright 2021 Christoph Rehmann (crehmann) + * + * 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 + +enum layers { + _BASE = 0, + _NAVR, + _SYMB, + _NUMR, + _FUNL, + _ADJL +}; + + +// Aliases for readability +#define BASE DF(_BASE) +#define NAVR MO(_NAVR) +#define SYMB MO(_SYMB) +#define NUMR MO(_NUMR) +#define FUNL MO(_FUNL) +#define ADJL MO(_ADJL) + +// Left-hand home row mods +#define RALT_X RALT_T(KC_X) +#define GUI_A LGUI_T(KC_A) +#define ALT_S LALT_T(KC_S) +#define CTL_D LCTL_T(KC_D) +#define SFT_F LSFT_T(KC_F) + +// Right-hand home row mods +#define SFT_J RSFT_T(KC_J) +#define CTL_K RCTL_T(KC_K) +#define ALT_L LALT_T(KC_L) +#define GUI_SCL RGUI_T(KC_SCLN) +#define RALT_DT RALT_T(KC_DOT) + +// Left-hand outer column +#define CTL_ESC MT(MOD_LCTL, KC_ESC) +#define SFT_TAB MT(MOD_LSFT, KC_TAB) + +// Thumbcluster +#define UC_TL1 KC_BTN1 +#define UC_TL2 LT(NAVR, KC_SPC) +#define UC_TL3 LT(NUMR, KC_TAB) + +#define UC_TR3 LT(FUNL, KC_BSPC) +#define UC_TR2 LT(SYMB, KC_ENT) +#define UC_TR1 KC_BTN2 + +// Shortcuts +#define UC_COPY LCTL(KC_C) +#define UC_PSTE LCTL(KC_V) +#define UC_CUT LCTL(KC_X) +#define UC_OSFT OSM(MOD_LSFT) + +// clang-format off +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +// /* +// * Base Layer +// * +// * ,----------------------------------. ,----------------------------------. +// * | Q | W | E | R | T | | Y | U | I | O | P | +// * | | | | | | | | | | | | +// * ,------+------+------+------+------+------| |------+------+------+------+------+------. +// * | OSM | A | S | D | F | G | | H | J | K | L | ; : | Bksp | +// * | Shift| GUI | LALT | LCTL | LSFT | | | | LSFT | LCTL | ALT | GUI | | +// * |------+------+------+------+------+------| |------+------+------+------+------+------| +// * | ESC | Z | X | C | F | B | | N | M | , < | . > | / ? | ADJL | +// * | CTL | | RALT | | | | | | | | RALT | | | +// * `----------------------------------+------+-------------. ,-------------+------+----------------------------------' +// * | BTN1 | Space| TAB | | Bksp| Enter| BTN2 | +// * | | NAVR | NUMR | | FUNL| SYML | | +// * `--------------------' `--------------------' +// */ + [_BASE] = LAYOUT( + KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , + UC_OSFT, GUI_A , ALT_S , CTL_D , SFT_F , KC_G , KC_H , SFT_J , CTL_K , ALT_L , GUI_SCL, KC_DEL, + CTL_ESC, KC_Z , RALT_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, RALT_DT, KC_SLSH, ADJL , + KC_BTN1, UC_TL2 , UC_TL3 , UC_TR3 , UC_TR2 , UC_TR1 + ), + +// /* +// * Navigation Layer (Right) +// * +// * ,----------------------------------. ,----------------------------------. +// * | | | | | | |Insert| Cut | PgUp | PgDn | | +// * | | | | | | | | | | | | +// * ,------+------+------+------+------+------| |------+------+------+------+------+------. +// * | | | | | | | | Copy | ← | ↑ | ↓ | → | | +// * | | | | | | | | | | | | | | +// * |------+------+------+------+------+------| |------+------+------+------+------+------| +// * | | | | | | | | Paste| Home | WH_U | WH_D | End | | +// * | | | | | | | | | | | | | | +// * `----------------------------------+------+-------------. ,-------------+------+----------------------------------' +// * | | | | | Bksp | Enter| | +// * | | | | | | | | +// * `--------------------' `--------------------' +// */ + [_NAVR] = LAYOUT( + _______, _______, _______, _______, _______, KC_INS , UC_CUT , KC_PGUP, KC_PGDN, _______, + _______, _______, _______, _______, _______, _______, UC_COPY, KC_LEFT, KC_UP , KC_DOWN, KC_RGHT, _______, + _______, _______, _______, _______, _______, _______, UC_PSTE, KC_HOME, KC_WH_U, KC_WH_D, KC_END , _______, + _______, _______, _______, KC_BSPC, KC_ENT , _______ + ), +// -------------------------------------------------------------------------------------------------------------------------------------------------------- + + +// /* +// * Symbol Layer (Right) +// +// * ,----------------------------------. ,----------------------------------. +// * | ` | ~ | | | \ | | | | / | + | = | ? | +// * | | | | | | | | | | | | +// * ,------+------+------+------+------+------| |------+------+------+------+------+------. +// * | | ! | @ | # | $ | % | | ^ | & | * | ( | ) | | +// * | | | | | | | | | | | | | | +// * |------+------+------+------+------+------| |------+------+------+------+------+------| +// * | | : | ; | - | [ | { | | } | ] | _ | , | . | | +// * | | | | | | | | | | | | | | +// * `----------------------------------+------+-------------. ,-------------+------+----------------------------------' +// * | | Space| TAB | | Bksp | Enter| | +// * | | | | | | | | +// * `--------------------' `--------------------' +// * + [_SYMB] = LAYOUT( + KC_GRV , KC_TILD, KC_PIPE, KC_BSLS, _______, _______, KC_SLSH, KC_PLUS, KC_EQL , KC_QUES, + _______, KC_EXLM, KC_AT , KC_HASH, KC_DLR , KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______, + _______, KC_COLN, KC_SCLN, KC_MINS, KC_LBRC, KC_LCBR, KC_RCBR, KC_RBRC, KC_UNDS, KC_COMM, KC_DOT , _______, + _______, KC_SPC , KC_TAB , KC_BSPC, KC_ENT , _______ + ), + +// /* +// * Number Layer (Right) +// * +// * ,----------------------------------. ,----------------------------------. +// * | | | | | | | / | 7 | 8 | 9 | - | +// * | | | | | | | | | | | | +// * ,------+------+------+------+------+------| |------+------+------+------+------+------. +// * | | | | | | | | * | 4 | 5 | 6 | + | | +// * | | | | | | | | | | | | | | +// * |------+------+------+------+------+------| |------+------+------+------+------+------| +// * | | | | | | | | 0 | 1 | 2 | 3 | . | | +// * | | | | | | | | | | | | | | +// * `----------------------------------+------+-------------. ,-------------+------+----------------------------------' +// * | | | | | Bksp | Enter| | +// * | | | | | | | | +// * `--------------------' `--------------------' +// */ + [_NUMR] = LAYOUT( + _______, _______, _______, _______, _______, KC_SLSH, KC_7 , KC_8 , KC_9 , KC_MINS, + _______, _______, _______, _______, _______, _______, KC_ASTR, KC_4 , KC_5 , KC_6 , KC_PLUS, _______, + _______, _______, _______, _______, _______, _______, KC_0 , KC_1 , KC_2 , KC_3 , KC_DOT , _______, + _______, _______, _______, KC_BSPC, KC_ENT , _______ + ), + +// /* +// * Function Layer (Left) +// * +// * ,----------------------------------. ,----------------------------------. +// * | F12 | F7 | F8 | F9 | Pause| | | | | | | +// * | | | | | | | | | | | | +// * ,------+------+------+------+------+------| |------+------+------+------+------+------. +// * | | F11 | F4 | F5 | F6 | PrScr| | | | | | | | +// * | | | | | | | | | | | | | | +// * |------+------+------+------+------+------| |------+------+------+------+------+------| +// * | | F10 | F1 | F2 | F3 | CapsL| | | | | | | | +// * | | | | | | | | | | | | | | +// * `----------------------------------+------+-------------. ,-------------+------+----------------------------------' +// * | | Space| TAB | | | | | +// * | | | | | | | | +// * `--------------------' `--------------------' +// */ + [_FUNL] = LAYOUT( + KC_F12 , KC_F7 , KC_F8 , KC_F9 , KC_PAUS, _______, _______, _______, _______, _______, + _______, KC_F11 , KC_F4 , KC_F5 , KC_F6 , KC_PSCR, _______, _______, _______, _______, _______, _______, + _______, KC_F10 , KC_F1 , KC_F2 , KC_F3 , KC_CAPS, _______, _______, _______, _______, _______, _______, + _______, KC_SPC , KC_TAB , _______, _______, _______ + ), + +// /* +// * Adjustment Layer (Left) +// * +// * ,----------------------------------. ,----------------------------------. +// * | | | | | | | | | | | | +// * | | | | | | | | | | | | +// * ,------+------+------+------+------+------| |------+------+------+------+------+------. +// * | |M Prev| VolDn| VolDn|M Next| | | | | | | | | +// * | | | | | | | | | | | | | | +// * |------+------+------+------+------+------| |------+------+------+------+------+------| +// * | | | | Mute | Play | | | | | | | | | +// * | | | | | | | | | | | | | | +// * `----------------------------------+------+-------------. ,-------------+------+----------------------------------' +// * | | Space| TAB | | | | | +// * | | | | | | | | +// * `--------------------' `--------------------' +// */ + [_ADJL] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, KC_MPRV, KC_VOLD, KC_VOLU, KC_MNXT, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, KC_MUTE, KC_MPLY, _______, _______, _______, _______, _______, _______, _______, + _______, KC_SPC , KC_TAB , _______, _______, _______ + ), + +// -------------------------------------------------------- TEMPLATE ------------------------------------------------------------------------------------- +// /* +// * Layer +// * +// * ,----------------------------------. ,----------------------------------. +// * | | | | | | | | | | | | +// * | | | | | | | | | | | | +// * ,------+------+------+------+------+------| |------+------+------+------+------+------. +// * | | | | | | | | | | | | | | +// * | | | | | | | | | | | | | | +// * |------+------+------+------+------+------| |------+------+------+------+------+------| +// * | | | | | | | | | | | | | | +// * | | | | | | | | | | | | | | +// * `----------------------------------+------+-------------. ,-------------+------+----------------------------------' +// * | | | | | | | | +// * | | | | | | | | +// * `--------------------' `--------------------' +// */ +// [_LAYERINDEX] = LAYOUT( +// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, +// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, +// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, +// _______, _______, _______, _______, _______, _______ +// ), +// -------------------------------------------------------------------------------------------------------------------------------------------------------- +}; + +// uncommint this and modify the timings if the home row mods are not working for you +/* +uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case GUI_A: + return TAPPING_TERM + 150; + case ALT_S: + return TAPPING_TERM + 50; + case ALT_L: + return TAPPING_TERM + 50; + case GUI_SCL: + return TAPPING_TERM + 150; + default: + return TAPPING_TERM; + } +} +*/ + +#ifdef HAPTIC_ENABLE + +bool get_haptic_enabled_key(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case KC_BTN1 ... KC_BTN5: + return true; + break; + } + + return false; +} +#endif
\ No newline at end of file diff --git a/keyboards/buzzard/keymaps/default/rules.mk b/keyboards/buzzard/keymaps/default/rules.mk new file mode 100644 index 0000000000..e8124aebb9 --- /dev/null +++ b/keyboards/buzzard/keymaps/default/rules.mk @@ -0,0 +1,7 @@ +OLED_ENABLE = yes # uncomment if you are using an OLED display + +#HAPTIC_ENABLE = yes # uncomment only on the master side if you are using a Pimoroni haptic buzz +#HAPTIC_DRIVER = DRV2605L # uncomment only on the master side if you are using a Pimoroni haptic buzz + +#PS2_MOUSE_ENABLE = yes # uncomment only on the master side if you are usin a TrackPoint +MOUSEKEY_ENABLE = yes
\ No newline at end of file |