* Add via keymap for Plaid-Pad - Add VIA support for the Plaid-Pad - Changes Vendor ID and Product ID (to follow VIA's guidelines) * Add extra encoder pads for rev1.1 * Change Product Id from pp to PP (hex value) * improved readme - detailed informations about rotary encoder, bootloader and firmware * Improved encoder informations in via keymap * Improved encoder infos and code in default keymap * add revision folder for rev1 and rev1.1 * change encoder assignment for defaul a via keymap * Update keyboards/keycapsss/plaid_pad/config.h * change revision number * Update keyboards/keycapsss/plaid_pad/rules.mk * Update keyboards/keycapsss/plaid_pad/rules.mk * Update keyboards/keycapsss/plaid_pad/rules.mk * Update keyboards/keycapsss/plaid_pad/rules.mk * Update keyboards/keycapsss/plaid_pad/readme.md * add license to header of *.h and *.c files * remove the list of alternate bootloaders - due to the pr checklist * Update keyboards/keycapsss/plaid_pad/rules.mkpull/10298/head
@ -1,3 +1,19 @@ | |||
/* Copyright 2020 Ben Roesner (keycapsss.com) | |||
* | |||
* 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/>. | |||
*/ | |||
#pragma once | |||
// place overrides here |
@ -1,13 +0,0 @@ | |||
<img src="https://i.imgur.com/V82cMqq.png" width="200"> | |||
# Default Plaid-Pad Layout | |||
This is the default layout for the plaid pad. | |||
The upper left (7) and right (/) switch, can be replaced by a rotary encoder. | |||
Encoders with built-in switch are supported and map to the original keys (7) and (/). | |||
The upper left encoder performs a tap on "Right Arrow" (KC_RIGHT) and "Left Arrow" (KC_LEFT) when rotated clockwise and counter-clockwise in the respective direction for each step of the encoder. | |||
The upper right encoder performs a tap on "Up Arrow" (KC_UP) and "Down Arrow" (KC_DOWN) when rotated clockwise and counter-clockwise in the respective direction for each step of the encoder. | |||
@ -0,0 +1,100 @@ | |||
/* Copyright 2020 Ben Roesner (keycapsss.com) | |||
* | |||
* 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 | |||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
/* | |||
* ,-----------------------, | |||
* | 7 | 8 | 9 | / | | |||
* |-----+-----+-----+-----| | |||
* | 4 | 5 | 6 | * | | |||
* |-----+-----+-----+-----| | |||
* | 1 | 2 | 3 | - | | |||
* |-----+-----+-----+-----| | |||
* | 0 | . | = | + | | |||
* `-----------------------' | |||
*/ | |||
[0] = LAYOUT_ortho_4x4( | |||
KC_P7, KC_P8, KC_P9, KC_PSLS, | |||
KC_P4, KC_P5, KC_P6, KC_PAST, | |||
KC_P1, KC_P2, KC_P3, KC_PMNS, | |||
KC_P0, KC_PDOT, KC_PEQL, KC_PPLS ), | |||
[1] = LAYOUT_ortho_4x4( | |||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | |||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | |||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | |||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ), | |||
[2] = LAYOUT_ortho_4x4( | |||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | |||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | |||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | |||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ), | |||
[3] = LAYOUT_ortho_4x4( | |||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | |||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | |||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | |||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ), | |||
}; | |||
// Set LED1 state during powerup | |||
void keyboard_post_init_user(void) { | |||
writePinHigh(LED_RED); | |||
} | |||
void encoder_update_user(uint8_t index, bool clockwise) { | |||
/* | |||
Rev1.1 Rev1 | |||
,-----------------------, ,-----------------------, | |||
| E1 | E2 | E3 | E4 | | E1 | | | E2 | | |||
|-----+-----+-----+-----| |-----+-----+-----+-----| | |||
| | | | E3 | | | | | | | |||
|-----+-----+-----+-----| |-----+-----+-----+-----| | |||
| | | | E2 | | | | | | | |||
|-----+-----+-----+-----| |-----+-----+-----+-----| | |||
| | | | E1 | | | | | | | |||
`-----------------------' `-----------------------' | |||
*/ | |||
// First encoder (E1) | |||
if (index == 0) { | |||
if (clockwise) { | |||
tap_code(KC_F17); | |||
} else { | |||
tap_code(KC_F18); | |||
} | |||
// Second encoder (E2) | |||
} else if (index == 1) { | |||
if (clockwise) { | |||
tap_code(KC_F19); | |||
} else { | |||
tap_code(KC_F20); | |||
} | |||
// Third encoder (E3) | |||
} else if (index == 2) { | |||
if (clockwise) { | |||
tap_code(KC_F21); | |||
} else { | |||
tap_code(KC_F22); | |||
} | |||
// Forth encoder (E4) | |||
} else if (index == 3) { | |||
if (clockwise) { | |||
tap_code(KC_F23); | |||
} else { | |||
tap_code(KC_F24); | |||
} | |||
} | |||
} |
@ -0,0 +1,4 @@ | |||
VIA_ENABLE = yes | |||
LTO_ENABLE = yes | |||
EXTRAKEY_ENABLE = no | |||
MOUSEKEY_ENABLE = no |
@ -1 +1,17 @@ | |||
/* Copyright 2020 Ben Roesner (keycapsss.com) | |||
* | |||
* 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 "plaid_pad.h" |
@ -0,0 +1,25 @@ | |||
/* Copyright 2020 Ben Roesner (keycapsss.com) | |||
* | |||
* 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/>. | |||
*/ | |||
#pragma once | |||
#define PRODUCT Plaid-Pad Rev1 | |||
#define DEVICE_VER 0x0001 | |||
#define UNUSED_PINS { B3, B4, B5, D4} | |||
#define ENCODERS_PAD_A { D1, B2 } | |||
#define ENCODERS_PAD_B { D0, B1 } |
@ -0,0 +1,17 @@ | |||
/* Copyright 2020 Ben Roesner (keycapsss.com) | |||
* | |||
* 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 "rev1.h" |
@ -0,0 +1,19 @@ | |||
/* Copyright 2020 Ben Roesner (keycapsss.com) | |||
* | |||
* 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/>. | |||
*/ | |||
#pragma once | |||
#include "plaid_pad.h" |
@ -0,0 +1 @@ | |||
ENCODER_ENABLE = yes |
@ -0,0 +1,25 @@ | |||
/* Copyright 2020 Ben Roesner (keycapsss.com) | |||
* | |||
* 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/>. | |||
*/ | |||
#pragma once | |||
#define PRODUCT Plaid-Pad Rev2 | |||
#define DEVICE_VER 0x0002 | |||
#define UNUSED_PINS { } | |||
#define ENCODERS_PAD_A { D1, B2, B4, D4 } | |||
#define ENCODERS_PAD_B { D0, B1, B3, B5 } |
@ -0,0 +1,17 @@ | |||
/* Copyright 2020 Ben Roesner (keycapsss.com) | |||
* | |||
* 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 "rev2.h" |
@ -0,0 +1,19 @@ | |||
/* Copyright 2020 Ben Roesner (keycapsss.com) | |||
* | |||
* 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/>. | |||
*/ | |||
#pragma once | |||
#include "plaid_pad.h" |
@ -0,0 +1 @@ | |||
ENCODER_ENABLE = yes |