From f487b726cd31f51f652f0c498e9767118faeff10 Mon Sep 17 00:00:00 2001 From: Alby Barber Date: Thu, 29 Oct 2020 04:15:38 -0400 Subject: [PATCH] [Keyboard] Adding Little Alby the Arduino Keyboard (#10713) * Adding little Alby keyboard * Adding readme and expanding programs * Updating readme * adding spirit guide * changes based on review * Updating config name and readme * Update keyboards/littlealby/mute/rules.mk Update tabbing Co-authored-by: Ryan * Update keyboards/littlealby/mute/rules.mk Remove other boards Co-authored-by: Ryan * Changes based on review * Update keyboards/littlealby/mute/config.h Co-authored-by: Ryan * Update keyboards/littlealby/mute/rules.mk Co-authored-by: Ryan * Update keyboards/littlealby/readme.md Co-authored-by: Ryan * Update keyboards/littlealby/readme.md Co-authored-by: Ryan * Update keyboards/littlealby/mute/config.h Co-authored-by: Ryan * Adding unique vendor and Product IDs * Update keyboards/littlealby/mute/config.h Co-authored-by: Ryan * 0x4D55 = MU * Adding default map Co-authored-by: Alby Barber Co-authored-by: Ryan --- keyboards/littlealby/mute/config.h | 45 +++++++++++++++++++ keyboards/littlealby/mute/info.json | 13 ++++++ .../littlealby/mute/keymaps/default/keymap.c | 23 ++++++++++ .../littlealby/mute/keymaps/default/readme.md | 8 ++++ .../littlealby/mute/keymaps/g_meet/keymap.c | 23 ++++++++++ .../littlealby/mute/keymaps/g_meet/readme.md | 8 ++++ .../littlealby/mute/keymaps/ms_teams/keymap.c | 23 ++++++++++ .../mute/keymaps/ms_teams/readme.md | 8 ++++ .../littlealby/mute/keymaps/zoom/keymap.c | 23 ++++++++++ .../littlealby/mute/keymaps/zoom/readme.md | 8 ++++ keyboards/littlealby/mute/mute.c | 16 +++++++ keyboards/littlealby/mute/mute.h | 24 ++++++++++ keyboards/littlealby/mute/rules.mk | 22 +++++++++ keyboards/littlealby/readme.md | 34 ++++++++++++++ 14 files changed, 278 insertions(+) create mode 100644 keyboards/littlealby/mute/config.h create mode 100644 keyboards/littlealby/mute/info.json create mode 100644 keyboards/littlealby/mute/keymaps/default/keymap.c create mode 100644 keyboards/littlealby/mute/keymaps/default/readme.md create mode 100644 keyboards/littlealby/mute/keymaps/g_meet/keymap.c create mode 100644 keyboards/littlealby/mute/keymaps/g_meet/readme.md create mode 100644 keyboards/littlealby/mute/keymaps/ms_teams/keymap.c create mode 100644 keyboards/littlealby/mute/keymaps/ms_teams/readme.md create mode 100644 keyboards/littlealby/mute/keymaps/zoom/keymap.c create mode 100644 keyboards/littlealby/mute/keymaps/zoom/readme.md create mode 100644 keyboards/littlealby/mute/mute.c create mode 100644 keyboards/littlealby/mute/mute.h create mode 100644 keyboards/littlealby/mute/rules.mk create mode 100644 keyboards/littlealby/readme.md diff --git a/keyboards/littlealby/mute/config.h b/keyboards/littlealby/mute/config.h new file mode 100644 index 0000000000..302b02a24a --- /dev/null +++ b/keyboards/littlealby/mute/config.h @@ -0,0 +1,45 @@ +/* Copyright 2019 albybarber + * + * 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 "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x4142 // "AB" +#define PRODUCT_ID 0x4D55 // "MU" +#define DEVICE_VER 0x0001 +#define MANUFACTURER Little Alby +#define PRODUCT Mute + +#define USB_MAX_POWER_CONSUMPTION 100 + +/* key matrix size */ +#define MATRIX_ROWS 1 +#define MATRIX_COLS 1 + +/* Default pinout */ +/* See arduino micro pinout: https://content.arduino.cc/assets/Pinout-Micro_latest.png + * for pins e.g. + * PB5 = digital pin 9 / analog pin 9 + */ +#define DIRECT_PINS { \ + {B5} \ +} +#define UNUSED_PINS + +#ifdef RGBLIGHT_ENABLE +#define RGB_DI_PIN B6 +#define RGBLED_NUM 1 +#endif diff --git a/keyboards/littlealby/mute/info.json b/keyboards/littlealby/mute/info.json new file mode 100644 index 0000000000..47a936d297 --- /dev/null +++ b/keyboards/littlealby/mute/info.json @@ -0,0 +1,13 @@ +{ + "keyboard_name": "Little Alby", + "keyboard_folder": "mute", + "url": "", + "maintainer": "albybarber", + "width": 1, + "height": 1, + "layouts": { + "LAYOUT": { + "layout": [ {"x": 0, "y": 0 }] + } + } +} diff --git a/keyboards/littlealby/mute/keymaps/default/keymap.c b/keyboards/littlealby/mute/keymaps/default/keymap.c new file mode 100644 index 0000000000..c6cf9836e3 --- /dev/null +++ b/keyboards/littlealby/mute/keymaps/default/keymap.c @@ -0,0 +1,23 @@ +/* Copyright 2019 albybarber + * + * 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( + SGUI(KC_A) + ) +}; diff --git a/keyboards/littlealby/mute/keymaps/default/readme.md b/keyboards/littlealby/mute/keymaps/default/readme.md new file mode 100644 index 0000000000..9ff489505f --- /dev/null +++ b/keyboards/littlealby/mute/keymaps/default/readme.md @@ -0,0 +1,8 @@ +# Default keymap for arduino micro for Zoom + +Default for Mute is to use ```PB5 / digital pin 9 / analog pin 9``` + +Key commands that are emulated for Zoom is `CTL + SHIFT + W` + +## Example pinout +![Pinout](https://assets.codepen.io/18215/littleAlby_bb.png) diff --git a/keyboards/littlealby/mute/keymaps/g_meet/keymap.c b/keyboards/littlealby/mute/keymaps/g_meet/keymap.c new file mode 100644 index 0000000000..38624a01ab --- /dev/null +++ b/keyboards/littlealby/mute/keymaps/g_meet/keymap.c @@ -0,0 +1,23 @@ +/* Copyright 2019 albybarber + * + * 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( + RCTL(KC_D) + ) +}; diff --git a/keyboards/littlealby/mute/keymaps/g_meet/readme.md b/keyboards/littlealby/mute/keymaps/g_meet/readme.md new file mode 100644 index 0000000000..24732c67a1 --- /dev/null +++ b/keyboards/littlealby/mute/keymaps/g_meet/readme.md @@ -0,0 +1,8 @@ +# Default keymap for arduino micro for Google Meet + +Default for Mute is to use ```PB5 / digital pin 9 / analog pin 9``` + +Key commands that are emulated for google meet is `CTL + d` + +## Example pinout +![Pinout](https://assets.codepen.io/18215/littleAlby_bb.png) diff --git a/keyboards/littlealby/mute/keymaps/ms_teams/keymap.c b/keyboards/littlealby/mute/keymaps/ms_teams/keymap.c new file mode 100644 index 0000000000..bb2cf1147c --- /dev/null +++ b/keyboards/littlealby/mute/keymaps/ms_teams/keymap.c @@ -0,0 +1,23 @@ +/* Copyright 2019 albybarber + * + * 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( + SGUI(KC_M) + ) +}; diff --git a/keyboards/littlealby/mute/keymaps/ms_teams/readme.md b/keyboards/littlealby/mute/keymaps/ms_teams/readme.md new file mode 100644 index 0000000000..a587438623 --- /dev/null +++ b/keyboards/littlealby/mute/keymaps/ms_teams/readme.md @@ -0,0 +1,8 @@ +# Default keymap for arduino micro for Microsoft teams + +Default for Mute is to use ```PB5 / digital pin 9 / analog pin 9``` + +Key commands that are emulated for Microsoft teams is `CTL + SHIFT + M` + +## Example pinout +![Pinout](https://assets.codepen.io/18215/littleAlby_bb.png) diff --git a/keyboards/littlealby/mute/keymaps/zoom/keymap.c b/keyboards/littlealby/mute/keymaps/zoom/keymap.c new file mode 100644 index 0000000000..c6cf9836e3 --- /dev/null +++ b/keyboards/littlealby/mute/keymaps/zoom/keymap.c @@ -0,0 +1,23 @@ +/* Copyright 2019 albybarber + * + * 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( + SGUI(KC_A) + ) +}; diff --git a/keyboards/littlealby/mute/keymaps/zoom/readme.md b/keyboards/littlealby/mute/keymaps/zoom/readme.md new file mode 100644 index 0000000000..9ff489505f --- /dev/null +++ b/keyboards/littlealby/mute/keymaps/zoom/readme.md @@ -0,0 +1,8 @@ +# Default keymap for arduino micro for Zoom + +Default for Mute is to use ```PB5 / digital pin 9 / analog pin 9``` + +Key commands that are emulated for Zoom is `CTL + SHIFT + W` + +## Example pinout +![Pinout](https://assets.codepen.io/18215/littleAlby_bb.png) diff --git a/keyboards/littlealby/mute/mute.c b/keyboards/littlealby/mute/mute.c new file mode 100644 index 0000000000..4a207b8f38 --- /dev/null +++ b/keyboards/littlealby/mute/mute.c @@ -0,0 +1,16 @@ +/* Copyright 2019 albybatber + * + * 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 "mute.h" diff --git a/keyboards/littlealby/mute/mute.h b/keyboards/littlealby/mute/mute.h new file mode 100644 index 0000000000..ea8acd815f --- /dev/null +++ b/keyboards/littlealby/mute/mute.h @@ -0,0 +1,24 @@ +/* Copyright 2019 albybarber + * + * 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 LAYOUT( \ + K00 \ +) { \ + { K00 } \ +} diff --git a/keyboards/littlealby/mute/rules.mk b/keyboards/littlealby/mute/rules.mk new file mode 100644 index 0000000000..0ea77b0552 --- /dev/null +++ b/keyboards/littlealby/mute/rules.mk @@ -0,0 +1,22 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = caterina + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +MOUSEKEY_ENABLE = no # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = no # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output diff --git a/keyboards/littlealby/readme.md b/keyboards/littlealby/readme.md new file mode 100644 index 0000000000..039b09a584 --- /dev/null +++ b/keyboards/littlealby/readme.md @@ -0,0 +1,34 @@ +# Little Alby + +Little Alby is a keyboard library using QMK used to create Arduino based keyboards. + +## Keyboard Layouts + +[Mute:](keyboards/littlealby/mute) +A single button layout that can be used as a mute audio keyboard shortcut for popular video conferencing programs e.g. [Zoom](keyboards/littlealby/mute/keymaps/zoom/readme.md), [Microsoft teams](keyboards/littlealby/mute/keymaps/ms_teams/readme.md), [Google meet](keyboards/littlealby/mute/keymaps/g_meet/readme.md) + + +## Arduino Micro pinout +![ARDUINO MICRO pinout](https://content.arduino.cc/assets/Pinout-Micro_latest.png) + +Keyboard Maintainer: [albybarber](https://github.com/albybarber) + +Keyboard Maintainers spirit guide : [Olivia](https://github.com/olivia) + +Hardware: +* [ARDUINO MICRO - 5v](https://store.arduino.cc/usa/arduino-micro) or [Pro Micro - 5V/16MHz](https://www.sparkfun.com/products/12640) + +## Building Code +Make example for this keyboard (after setting up your build environment): + + make littlealby/mute:default + + // Builds for specific programs + make littlealby/mute:zoom + make littlealby/mute:ms_teams + make littlealby/mute:g_meet + +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). + +## Credits ++ [2% Milk by spaceman - heavly inspired by](https://github.com/qmk/qmk_firmware/tree/master/keyboards/spaceman/2_milk)