summaryrefslogtreecommitdiff
path: root/keyboards/buzzard/keymaps/default
diff options
context:
space:
mode:
authorChristoph Rehmann <1273098+crehmann@users.noreply.github.com>2022-01-10 11:33:48 +0100
committerGitHub <noreply@github.com>2022-01-10 02:33:48 -0800
commit2e19d0d7d14fef69d583886c244d3c67b3c0cc3d (patch)
treee21ec0e671f1264e5a2c30ce650894cadc8374d8 /keyboards/buzzard/keymaps/default
parentd7eb09949d426af891dd9cf85ad789285422490e (diff)
downloadqmk_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.h39
-rw-r--r--keyboards/buzzard/keymaps/default/keymap.c274
-rw-r--r--keyboards/buzzard/keymaps/default/rules.mk7
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