From 9682fca47b1d36dc5b502cc3e1f569464c41669a Mon Sep 17 00:00:00 2001 From: Leon Anavi Date: Sat, 20 Feb 2021 21:47:05 +0200 Subject: [Keyboard] keyboards/anavi: Add ANAVI Macro Pad 2 (#11821) ANAVI Macro Pad 2 is an open source mini mechanical keyboard with 2 keys and backlit. Powered by ATtiny 85 microcontroller and with microUSB connector. Designed with KiCad. Provides the following keymaps for ANAVI Macro Pad 2: - Default (with a, b and combo to control the LEDs) - Copy & paste - Tap dance example with a, b and c - Mute - Volume - Zoom - Jitsi Meet Co-authored-by: Drashna Jaelre Signed-off-by: Leon Anavi Co-authored-by: Drashna Jaelre --- .../anavi/macropad2/keymaps/copypaste/keymap.c | 30 ++++++++++++++++++ .../anavi/macropad2/keymaps/copypaste/rules.mk | 1 + keyboards/anavi/macropad2/keymaps/default/keymap.c | 30 ++++++++++++++++++ keyboards/anavi/macropad2/keymaps/default/rules.mk | 1 + keyboards/anavi/macropad2/keymaps/jitsi/keymap.c | 36 +++++++++++++++++++++ keyboards/anavi/macropad2/keymaps/jitsi/rules.mk | 1 + keyboards/anavi/macropad2/keymaps/mute/keymap.c | 23 ++++++++++++++ keyboards/anavi/macropad2/keymaps/mute/rules.mk | 2 ++ .../anavi/macropad2/keymaps/tap_dance/config.h | 3 ++ .../anavi/macropad2/keymaps/tap_dance/keymap.c | 35 ++++++++++++++++++++ .../anavi/macropad2/keymaps/tap_dance/rules.mk | 1 + keyboards/anavi/macropad2/keymaps/volume/keymap.c | 23 ++++++++++++++ keyboards/anavi/macropad2/keymaps/volume/rules.mk | 2 ++ keyboards/anavi/macropad2/keymaps/zoom/keymap.c | 37 ++++++++++++++++++++++ keyboards/anavi/macropad2/keymaps/zoom/rules.mk | 1 + 15 files changed, 226 insertions(+) create mode 100644 keyboards/anavi/macropad2/keymaps/copypaste/keymap.c create mode 100644 keyboards/anavi/macropad2/keymaps/copypaste/rules.mk create mode 100644 keyboards/anavi/macropad2/keymaps/default/keymap.c create mode 100644 keyboards/anavi/macropad2/keymaps/default/rules.mk create mode 100644 keyboards/anavi/macropad2/keymaps/jitsi/keymap.c create mode 100644 keyboards/anavi/macropad2/keymaps/jitsi/rules.mk create mode 100644 keyboards/anavi/macropad2/keymaps/mute/keymap.c create mode 100644 keyboards/anavi/macropad2/keymaps/mute/rules.mk create mode 100644 keyboards/anavi/macropad2/keymaps/tap_dance/config.h create mode 100644 keyboards/anavi/macropad2/keymaps/tap_dance/keymap.c create mode 100644 keyboards/anavi/macropad2/keymaps/tap_dance/rules.mk create mode 100644 keyboards/anavi/macropad2/keymaps/volume/keymap.c create mode 100644 keyboards/anavi/macropad2/keymaps/volume/rules.mk create mode 100644 keyboards/anavi/macropad2/keymaps/zoom/keymap.c create mode 100644 keyboards/anavi/macropad2/keymaps/zoom/rules.mk (limited to 'keyboards/anavi/macropad2/keymaps') diff --git a/keyboards/anavi/macropad2/keymaps/copypaste/keymap.c b/keyboards/anavi/macropad2/keymaps/copypaste/keymap.c new file mode 100644 index 0000000000..cddc14188d --- /dev/null +++ b/keyboards/anavi/macropad2/keymaps/copypaste/keymap.c @@ -0,0 +1,30 @@ +/* Copyright 2021 Leon Anavi + * + * 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 + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT( + C(KC_C), C(KC_V) + ) +}; + +const uint16_t PROGMEM test_combo[] = {C(KC_C), C(KC_V), COMBO_END}; +combo_t key_combos[COMBO_COUNT] = {COMBO_ACTION(test_combo)}; + +void process_combo_event(uint16_t combo_index, bool pressed) { + backlight_step(); +} diff --git a/keyboards/anavi/macropad2/keymaps/copypaste/rules.mk b/keyboards/anavi/macropad2/keymaps/copypaste/rules.mk new file mode 100644 index 0000000000..ab1e438182 --- /dev/null +++ b/keyboards/anavi/macropad2/keymaps/copypaste/rules.mk @@ -0,0 +1 @@ +COMBO_ENABLE = yes diff --git a/keyboards/anavi/macropad2/keymaps/default/keymap.c b/keyboards/anavi/macropad2/keymaps/default/keymap.c new file mode 100644 index 0000000000..c880ff660a --- /dev/null +++ b/keyboards/anavi/macropad2/keymaps/default/keymap.c @@ -0,0 +1,30 @@ +/* Copyright 2021 Leon Anavi + * + * 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 + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT( + KC_A, KC_B + ) +}; + +const uint16_t PROGMEM test_combo[] = {KC_A, KC_B, COMBO_END}; +combo_t key_combos[COMBO_COUNT] = {COMBO_ACTION(test_combo)}; + +void process_combo_event(uint16_t combo_index, bool pressed) { + backlight_step(); +} diff --git a/keyboards/anavi/macropad2/keymaps/default/rules.mk b/keyboards/anavi/macropad2/keymaps/default/rules.mk new file mode 100644 index 0000000000..ab1e438182 --- /dev/null +++ b/keyboards/anavi/macropad2/keymaps/default/rules.mk @@ -0,0 +1 @@ +COMBO_ENABLE = yes diff --git a/keyboards/anavi/macropad2/keymaps/jitsi/keymap.c b/keyboards/anavi/macropad2/keymaps/jitsi/keymap.c new file mode 100644 index 0000000000..afd1dd1d14 --- /dev/null +++ b/keyboards/anavi/macropad2/keymaps/jitsi/keymap.c @@ -0,0 +1,36 @@ +/* Copyright 2021 Leon Anavi + * + * 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 + +/* + * Jitsi Meet keyboard shortcuts: + * V - Start or stop your camera + * M - Mute or unmute your microphone + */ + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT( + KC_M, KC_V + ) +}; + +const uint16_t PROGMEM test_combo[] = {KC_M, KC_V, COMBO_END}; +combo_t key_combos[COMBO_COUNT] = {COMBO_ACTION(test_combo)}; + +void process_combo_event(uint16_t combo_index, bool pressed) { + backlight_step(); +} diff --git a/keyboards/anavi/macropad2/keymaps/jitsi/rules.mk b/keyboards/anavi/macropad2/keymaps/jitsi/rules.mk new file mode 100644 index 0000000000..ab1e438182 --- /dev/null +++ b/keyboards/anavi/macropad2/keymaps/jitsi/rules.mk @@ -0,0 +1 @@ +COMBO_ENABLE = yes diff --git a/keyboards/anavi/macropad2/keymaps/mute/keymap.c b/keyboards/anavi/macropad2/keymaps/mute/keymap.c new file mode 100644 index 0000000000..642bf66a8f --- /dev/null +++ b/keyboards/anavi/macropad2/keymaps/mute/keymap.c @@ -0,0 +1,23 @@ +/* Copyright 2021 Leon Anavi + * + * 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 + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT( + KC_AUDIO_MUTE, BL_TOGG + ) +}; diff --git a/keyboards/anavi/macropad2/keymaps/mute/rules.mk b/keyboards/anavi/macropad2/keymaps/mute/rules.mk new file mode 100644 index 0000000000..a8b1459346 --- /dev/null +++ b/keyboards/anavi/macropad2/keymaps/mute/rules.mk @@ -0,0 +1,2 @@ +EXTRAKEY_ENABLE = yes +BACKLIGHT_ENABLE = no diff --git a/keyboards/anavi/macropad2/keymaps/tap_dance/config.h b/keyboards/anavi/macropad2/keymaps/tap_dance/config.h new file mode 100644 index 0000000000..b86e862d30 --- /dev/null +++ b/keyboards/anavi/macropad2/keymaps/tap_dance/config.h @@ -0,0 +1,3 @@ +#pragma once + +#define TAPPING_TERM 500 diff --git a/keyboards/anavi/macropad2/keymaps/tap_dance/keymap.c b/keyboards/anavi/macropad2/keymaps/tap_dance/keymap.c new file mode 100644 index 0000000000..63854a62e3 --- /dev/null +++ b/keyboards/anavi/macropad2/keymaps/tap_dance/keymap.c @@ -0,0 +1,35 @@ +/* Copyright 2021 Leon Anavi + * + * 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 + +enum layers { + _BASE = 0, +}; + +enum { + TD_BC = 0 +}; + +qk_tap_dance_action_t tap_dance_actions[] = { + [TD_BC] = ACTION_TAP_DANCE_DOUBLE(KC_B, KC_C) +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_BASE] = LAYOUT( + KC_A, TD(TD_BC) + ) +}; diff --git a/keyboards/anavi/macropad2/keymaps/tap_dance/rules.mk b/keyboards/anavi/macropad2/keymaps/tap_dance/rules.mk new file mode 100644 index 0000000000..e5ddcae8d9 --- /dev/null +++ b/keyboards/anavi/macropad2/keymaps/tap_dance/rules.mk @@ -0,0 +1 @@ +TAP_DANCE_ENABLE = yes diff --git a/keyboards/anavi/macropad2/keymaps/volume/keymap.c b/keyboards/anavi/macropad2/keymaps/volume/keymap.c new file mode 100644 index 0000000000..f9ad20d5c5 --- /dev/null +++ b/keyboards/anavi/macropad2/keymaps/volume/keymap.c @@ -0,0 +1,23 @@ +/* Copyright 2021 Leon Anavi + * + * 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 + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT( + KC_VOLU, KC_VOLD + ) +}; diff --git a/keyboards/anavi/macropad2/keymaps/volume/rules.mk b/keyboards/anavi/macropad2/keymaps/volume/rules.mk new file mode 100644 index 0000000000..a8b1459346 --- /dev/null +++ b/keyboards/anavi/macropad2/keymaps/volume/rules.mk @@ -0,0 +1,2 @@ +EXTRAKEY_ENABLE = yes +BACKLIGHT_ENABLE = no diff --git a/keyboards/anavi/macropad2/keymaps/zoom/keymap.c b/keyboards/anavi/macropad2/keymaps/zoom/keymap.c new file mode 100644 index 0000000000..4f681d17f1 --- /dev/null +++ b/keyboards/anavi/macropad2/keymaps/zoom/keymap.c @@ -0,0 +1,37 @@ +/* Copyright 2021 Leon Anavi + * + * 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 + +/* + * The keymap contains the following shortcuts for Zoom meeting: + * + * Alt+A: Mute/unmute my audio + * Alt+V: Start/stop video + */ + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT( + LALT(KC_A), LALT(KC_V) + ) +}; + +const uint16_t PROGMEM test_combo[] = {LALT(KC_A), LALT(KC_V), COMBO_END}; +combo_t key_combos[COMBO_COUNT] = {COMBO_ACTION(test_combo)}; + +void process_combo_event(uint16_t combo_index, bool pressed) { + backlight_step(); +} diff --git a/keyboards/anavi/macropad2/keymaps/zoom/rules.mk b/keyboards/anavi/macropad2/keymaps/zoom/rules.mk new file mode 100644 index 0000000000..ab1e438182 --- /dev/null +++ b/keyboards/anavi/macropad2/keymaps/zoom/rules.mk @@ -0,0 +1 @@ +COMBO_ENABLE = yes -- cgit v1.2.3