From a6a13f96262ef1e8c91546f24cff5067f8026c23 Mon Sep 17 00:00:00 2001 From: Brandon Schlack Date: Sun, 26 Jul 2020 14:32:04 -0700 Subject: [Keyboard] Add Keybage folder for RadPad (#9745) * [Keyboard] Initial Keybage/RadPad firmware * [Keyboard] RadPad apply pull request feedback - Change `LAYOUT_***_Encoders` to `LAYOUT_***_encoders` in .h - Remove bootloader comments and unnecessary build options from rules.mk - Use `LTO_ENABLE` - Remove empty config.h from default keymap - Remove trailing ` \` from keymap * [Keyboard] RadPad fix info.json - Change `LAYOUT_***_Encoders` to `LAYOUT_***_encoders` in info.json * [Keyboard] Add host LED status to OLED display * [Keyboard] Use LAYOUT_4x4_encoders, not LAYOUT * [Keyboard] Use LAYOUT_4x4_encoders, not LAYOUT * [Keyboard] Remove DESCRIPTION from config.h --- keyboards/keybage/radpad/radpad.h | 87 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 87 insertions(+) create mode 100644 keyboards/keybage/radpad/radpad.h (limited to 'keyboards/keybage/radpad/radpad.h') diff --git a/keyboards/keybage/radpad/radpad.h b/keyboards/keybage/radpad/radpad.h new file mode 100644 index 0000000000..be6583bb8e --- /dev/null +++ b/keyboards/keybage/radpad/radpad.h @@ -0,0 +1,87 @@ +/* Copyright 2020 Brandon Schlack + * + * 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 + +#include "quantum.h" + +#define XXX KC_NO + +/* This is a shortcut to help you visually see your layout. + * + * The first section contains all of the arguments representing the physical + * layout of the board and position of the keys. + * + * The second converts the arguments into a two-dimensional array which + * represents the switch matrix. + */ +#define LAYOUT_4x4_encoders( \ + k00, k03, \ + k10, k11, k12, k13, \ + k20, k21, k22, k23, \ + k30, k31, k32, k33, \ + k40, k41, k42, k43 \ +) \ +{ \ + { k00, XXX, XXX, k03 }, \ + { k10, k11, k12, k13 }, \ + { k20, k21, k22, k23 }, \ + { k30, k31, k32, k33 }, \ + { k40, k41, k42, k43 } \ +} + +#define LAYOUT_4x3_encoders( \ + k00, k03, \ + k10, k11, k12, k13, \ + k20, k21, k22, k23, \ + k30, k31, k32, k33 \ +) \ +{ \ + { k00, XXX, XXX, k03 }, \ + { k10, k11, k12, k13 }, \ + { k20, k21, k22, k23 }, \ + { k30, k31, k32, k33 }, \ + { XXX, XXX, XXX, XXX } \ +} + +#define LAYOUT_3x4_encoders( \ + k01, k03, \ + k11, k12, k13, \ + k21, k22, k23, \ + k31, k32, k33, \ + k41, k42, k43 \ +) \ +{ \ + { XXX, k01, XXX, k03 }, \ + { XXX, k11, k12, k13 }, \ + { XXX, k21, k22, k23 }, \ + { XXX, k31, k32, k33 }, \ + { XXX, k41, k42, k43 } \ +} + +#define LAYOUT_3x3_encoders( \ + k01, k03, \ + k11, k12, k13, \ + k21, k22, k23, \ + k31, k32, k33 \ +) \ +{ \ + { XXX, k01, XXX, k03 }, \ + { XXX, k11, k12, k13 }, \ + { XXX, k21, k22, k23 }, \ + { XXX, k31, k32, k33 }, \ + { XXX, XXX, XXX, XXX } \ +} -- cgit v1.2.3