From c1f8d5061c47aca0f501f254bc088fd34e268b0d Mon Sep 17 00:00:00 2001 From: Christoph Cullmann Date: Sat, 2 Mar 2024 14:55:58 +0100 Subject: [PATCH] add q8 keymap --- common/keymap.h | 6 ----- ferris/keymap.c | 6 +++++ planck/keymap.c | 6 +++++ q8/config.h | 20 +++++++++++++++++ q8/keymap.c | 41 ++++++++++++++++++++++++++++++++++ q8/rules.mk | 6 +++++ totem/keymaps/default/keymap.c | 6 +++++ 7 files changed, 85 insertions(+), 6 deletions(-) create mode 100644 q8/config.h create mode 100644 q8/keymap.c create mode 100644 q8/rules.mk diff --git a/common/keymap.h b/common/keymap.h index 21a00dc..72208b8 100644 --- a/common/keymap.h +++ b/common/keymap.h @@ -90,12 +90,6 @@ void matrix_scan_user(void) { achordion_task(); } -// Returns true if `pos` on the left hand of the keyboard, false if right. -static bool on_left_hand(keypos_t pos) { - // works not really on planck for bottom row, but we handle that differently - return pos.row < MATRIX_ROWS / 2; -} - bool achordion_chord(uint16_t tap_hold_keycode, keyrecord_t* tap_hold_record, uint16_t other_keycode, diff --git a/ferris/keymap.c b/ferris/keymap.c index b43acbd..0dd36fb 100644 --- a/ferris/keymap.c +++ b/ferris/keymap.c @@ -16,5 +16,11 @@ #include QMK_KEYBOARD_H +// Returns true if `pos` on the left hand of the keyboard, false if right. +static bool on_left_hand(keypos_t pos) { + // works not really on planck for bottom row, but we handle that differently + return pos.row < MATRIX_ROWS / 2; +} + // our shared 34 keys keymap #include "../common/keymap.h" diff --git a/planck/keymap.c b/planck/keymap.c index cd8615e..fbddbbf 100644 --- a/planck/keymap.c +++ b/planck/keymap.c @@ -16,6 +16,12 @@ #include QMK_KEYBOARD_H +// Returns true if `pos` on the left hand of the keyboard, false if right. +static bool on_left_hand(keypos_t pos) { + // works not really on planck for bottom row, but we handle that differently + return pos.row < MATRIX_ROWS / 2; +} + // layout helper macro, we just use 34 keys #undef LAYOUT #define LAYOUT(\ diff --git a/q8/config.h b/q8/config.h new file mode 100644 index 0000000..a5fb86f --- /dev/null +++ b/q8/config.h @@ -0,0 +1,20 @@ +/* Copyright 2022 Christoph Cullmann + * + * 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 . + */ + +#pragma once + +// our shared config parts +#include "/home/cullmann/install/qmk/christoph-cullmann/common/config.h" diff --git a/q8/keymap.c b/q8/keymap.c new file mode 100644 index 0000000..8f2020f --- /dev/null +++ b/q8/keymap.c @@ -0,0 +1,41 @@ +/* Copyright 2022 Christoph Cullmann + * + * 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 . + */ + +#include QMK_KEYBOARD_H + +// Returns true if `pos` on the left hand of the keyboard, false if right. +static bool on_left_hand(keypos_t pos) { + return pos.col < 7; +} + +// layout helper macro, we just use 34 keys +#undef LAYOUT +#define LAYOUT(\ +K00, K01, K02, K03, K04, K05, K06, K07, K08, K09,\ +K10, K11, K12, K13, K14, K15, K16, K17, K18, K19,\ +K20, K21, K22, K23, K24, K25, K26, K27, K28, K29,\ + K30, K31, K32, K33\ +)\ +LAYOUT_iso_70(\ + 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_BSPC, KC_MUTE,\ + KC_TAB, K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, KC_LBRC, KC_RBRC, KC_DEL,\ + KC_CAPS, K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, KC_QUOT, KC_NUHS, KC_ENT, KC_HOME,\ + KC_LSFT, K20, K21, K22, K23, K24, KC_NO, KC_NO, K25, K26, K27, K28, K29, KC_RSFT, KC_UP,\ + KC_LCTL, KC_LOPT, K30, K31, K30, K33, K32, K33, KC_LEFT, KC_DOWN, KC_RGHT\ +) + +// our shared 34 keys keymap +#include "../common/keymap.h" diff --git a/q8/rules.mk b/q8/rules.mk new file mode 100644 index 0000000..38d877a --- /dev/null +++ b/q8/rules.mk @@ -0,0 +1,6 @@ +# include common settings +include /home/cullmann/install/qmk/christoph-cullmann/common/rules.mk + +# build +# qmk compile -kb keychron/q8/iso_encoder -km christoph-cullmann +# qmk flash -kb keychron/q8/iso_encoder -km christoph-cullmann diff --git a/totem/keymaps/default/keymap.c b/totem/keymaps/default/keymap.c index 9b7019c..9c452be 100644 --- a/totem/keymaps/default/keymap.c +++ b/totem/keymaps/default/keymap.c @@ -15,6 +15,12 @@ #include "totem.h" +// Returns true if `pos` on the left hand of the keyboard, false if right. +static bool on_left_hand(keypos_t pos) { + // works not really on planck for bottom row, but we handle that differently + return pos.row < MATRIX_ROWS / 2; +} + // layout helper macro, we just use 34 keys #undef LAYOUT #define LAYOUT(\