diff options
author | James Young <18669334+noroadsleft@users.noreply.github.com> | 2021-03-15 01:25:00 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-03-15 19:25:00 +1100 |
commit | 52b7ebd6be2532fc41ef1593be8e22c5f39d9a1e (patch) | |
tree | 4baa836cb753e31af6c4dfb92743879de6c467fe /keyboards/m10a | |
parent | 2e50b34c67ec602e456c4a158c0956aa1b9aaa2d (diff) | |
download | qmk_firmware-52b7ebd6be2532fc41ef1593be8e22c5f39d9a1e.tar.gz qmk_firmware-52b7ebd6be2532fc41ef1593be8e22c5f39d9a1e.zip |
M10-A refactor (#12242)
Diffstat (limited to 'keyboards/m10a')
-rw-r--r-- | keyboards/m10a/config.h | 38 | ||||
-rw-r--r-- | keyboards/m10a/info.json | 26 | ||||
-rw-r--r-- | keyboards/m10a/keymaps/default/keymap.c | 120 | ||||
-rw-r--r-- | keyboards/m10a/keymaps/via/config.h | 20 | ||||
-rw-r--r-- | keyboards/m10a/keymaps/via/keymap.c | 120 | ||||
-rw-r--r-- | keyboards/m10a/m10a.c | 22 | ||||
-rw-r--r-- | keyboards/m10a/m10a.h | 29 | ||||
-rw-r--r-- | keyboards/m10a/readme.md | 18 | ||||
-rw-r--r-- | keyboards/m10a/rules.mk | 30 |
9 files changed, 310 insertions, 113 deletions
diff --git a/keyboards/m10a/config.h b/keyboards/m10a/config.h index 6ece2131b9..01f9d0d0a3 100644 --- a/keyboards/m10a/config.h +++ b/keyboards/m10a/config.h @@ -1,22 +1,22 @@ -/* -Copyright 2012 Jun Wako <wakojun@gmail.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/>. -*/ +/* Copyright + * 2017 Josh Black (@consolenaut) + * 2021 QMK + * + * 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/>. + */ -#ifndef CONFIG_H -#define CONFIG_H +#pragma once #include "config_common.h" @@ -72,5 +72,3 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. //#define NO_ACTION_ONESHOT //#define NO_ACTION_MACRO //#define NO_ACTION_FUNCTION - -#endif diff --git a/keyboards/m10a/info.json b/keyboards/m10a/info.json new file mode 100644 index 0000000000..7692259297 --- /dev/null +++ b/keyboards/m10a/info.json @@ -0,0 +1,26 @@ +{ + "keyboard_name": "Rama Works X Machine Industries M10-A Macropad", + "url": "", + "maintainer": "qmk", + "width": 3, + "height": 4, + "layouts": { + "LAYOUT": { + "layout": [ + {"x":0, "y":0}, + {"x":1, "y":0}, + {"x":2, "y":0}, + + {"x":0, "y":1}, + {"x":1, "y":1}, + {"x":2, "y":1}, + + {"x":0, "y":2}, + {"x":1, "y":2}, + {"x":2, "y":2}, + + {"x":1, "y":3, "w":2} + ] + } + } +} diff --git a/keyboards/m10a/keymaps/default/keymap.c b/keyboards/m10a/keymaps/default/keymap.c index 9c9f4c6884..4fb8eb584b 100644 --- a/keyboards/m10a/keymaps/default/keymap.c +++ b/keyboards/m10a/keymaps/default/keymap.c @@ -1,39 +1,101 @@ -#include QMK_KEYBOARD_H - +/* Copyright + * 2017 Josh Black (@consolenaut) + * 2021 QMK + * + * 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/>. + */ -// Each layer gets a name for readability, which is then used in the keymap matrix below. -// The underscores don't mean anything - you can have a layer called STUFF or any other name. -// Layer names don't all need to be of the same length, obviously, and you can also skip them -// entirely and just use numbers. +#include QMK_KEYBOARD_H -enum layers { - _LAYER0, - _LAYER1, - _LAYER2, - _LAYER3, - _LAYER4, - _LAYER5, - _LAYER6, - _LAYER7, - _LAYER8, - _LAYER9 +enum layer_names { + _LAYER0, + _LAYER1, + _LAYER2, + _LAYER3, + _LAYER4, + _LAYER5, + _LAYER6, + _LAYER7, + _LAYER8, + _LAYER9 }; const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_LAYER0] = LAYOUT(KC_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G, KC_H, KC_I, KC_NO, KC_NO, KC_J), - [_LAYER1] = LAYOUT(KC_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G, KC_H, KC_I, KC_NO, KC_NO, KC_J), - [_LAYER2] = LAYOUT(KC_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G, KC_H, KC_I, KC_NO, KC_NO, KC_J), - [_LAYER3] = LAYOUT(KC_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G, KC_H, KC_I, KC_NO, KC_NO, KC_J), - [_LAYER4] = LAYOUT(KC_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G, KC_H, KC_I, KC_NO, KC_NO, KC_J), - [_LAYER5] = LAYOUT(KC_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G, KC_H, KC_I, KC_NO, KC_NO, KC_J), - [_LAYER6] = LAYOUT(KC_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G, KC_H, KC_I, KC_NO, KC_NO, KC_J), - [_LAYER7] = LAYOUT(KC_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G, KC_H, KC_I, KC_NO, KC_NO, KC_J), - [_LAYER8] = LAYOUT(KC_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G, KC_H, KC_I, KC_NO, KC_NO, KC_J), - [_LAYER9] = LAYOUT(KC_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G, KC_H, KC_I, KC_NO, KC_NO, KC_J) + [_LAYER0] = LAYOUT( + KC_A, KC_B, KC_C, + KC_D, KC_E, KC_F, + KC_G, KC_H, KC_I, + KC_J + ), + [_LAYER1] = LAYOUT( + KC_A, KC_B, KC_C, + KC_D, KC_E, KC_F, + KC_G, KC_H, KC_I, + KC_J + ), + [_LAYER2] = LAYOUT( + KC_A, KC_B, KC_C, + KC_D, KC_E, KC_F, + KC_G, KC_H, KC_I, + KC_J + ), + [_LAYER3] = LAYOUT( + KC_A, KC_B, KC_C, + KC_D, KC_E, KC_F, + KC_G, KC_H, KC_I, + KC_J + ), + [_LAYER4] = LAYOUT( + KC_A, KC_B, KC_C, + KC_D, KC_E, KC_F, + KC_G, KC_H, KC_I, + KC_J + ), + [_LAYER5] = LAYOUT( + KC_A, KC_B, KC_C, + KC_D, KC_E, KC_F, + KC_G, KC_H, KC_I, + KC_J + ), + [_LAYER6] = LAYOUT( + KC_A, KC_B, KC_C, + KC_D, KC_E, KC_F, + KC_G, KC_H, KC_I, + KC_J + ), + [_LAYER7] = LAYOUT( + KC_A, KC_B, KC_C, + KC_D, KC_E, KC_F, + KC_G, KC_H, KC_I, + KC_J + ), + [_LAYER8] = LAYOUT( + KC_A, KC_B, KC_C, + KC_D, KC_E, KC_F, + KC_G, KC_H, KC_I, + KC_J + ), + [_LAYER9] = LAYOUT( + KC_A, KC_B, KC_C, + KC_D, KC_E, KC_F, + KC_G, KC_H, KC_I, + KC_J + ) }; void matrix_init_user(void) { - #ifdef BACKLIGHT_ENABLE +#ifdef BACKLIGHT_ENABLE backlight_level(0); - #endif +#endif } diff --git a/keyboards/m10a/keymaps/via/config.h b/keyboards/m10a/keymaps/via/config.h index 79248f04f7..cd097f8daf 100644 --- a/keyboards/m10a/keymaps/via/config.h +++ b/keyboards/m10a/keymaps/via/config.h @@ -1,4 +1,22 @@ +/* Copyright + * 2020 Jason Williams (Wilba) + * 2021 QMK + * + * 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 // Keep default crazy number of layers -#define DYNAMIC_KEYMAP_LAYER_COUNT 10
\ No newline at end of file +#define DYNAMIC_KEYMAP_LAYER_COUNT 10 diff --git a/keyboards/m10a/keymaps/via/keymap.c b/keyboards/m10a/keymaps/via/keymap.c index 9c9f4c6884..59cc38ee88 100644 --- a/keyboards/m10a/keymaps/via/keymap.c +++ b/keyboards/m10a/keymaps/via/keymap.c @@ -1,39 +1,101 @@ -#include QMK_KEYBOARD_H - +/* Copyright + * 2020 Jason Williams (Wilba) + * 2021 QMK + * + * 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/>. + */ -// Each layer gets a name for readability, which is then used in the keymap matrix below. -// The underscores don't mean anything - you can have a layer called STUFF or any other name. -// Layer names don't all need to be of the same length, obviously, and you can also skip them -// entirely and just use numbers. +#include QMK_KEYBOARD_H -enum layers { - _LAYER0, - _LAYER1, - _LAYER2, - _LAYER3, - _LAYER4, - _LAYER5, - _LAYER6, - _LAYER7, - _LAYER8, - _LAYER9 +enum layer_names { + _LAYER0, + _LAYER1, + _LAYER2, + _LAYER3, + _LAYER4, + _LAYER5, + _LAYER6, + _LAYER7, + _LAYER8, + _LAYER9 }; const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_LAYER0] = LAYOUT(KC_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G, KC_H, KC_I, KC_NO, KC_NO, KC_J), - [_LAYER1] = LAYOUT(KC_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G, KC_H, KC_I, KC_NO, KC_NO, KC_J), - [_LAYER2] = LAYOUT(KC_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G, KC_H, KC_I, KC_NO, KC_NO, KC_J), - [_LAYER3] = LAYOUT(KC_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G, KC_H, KC_I, KC_NO, KC_NO, KC_J), - [_LAYER4] = LAYOUT(KC_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G, KC_H, KC_I, KC_NO, KC_NO, KC_J), - [_LAYER5] = LAYOUT(KC_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G, KC_H, KC_I, KC_NO, KC_NO, KC_J), - [_LAYER6] = LAYOUT(KC_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G, KC_H, KC_I, KC_NO, KC_NO, KC_J), - [_LAYER7] = LAYOUT(KC_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G, KC_H, KC_I, KC_NO, KC_NO, KC_J), - [_LAYER8] = LAYOUT(KC_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G, KC_H, KC_I, KC_NO, KC_NO, KC_J), - [_LAYER9] = LAYOUT(KC_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G, KC_H, KC_I, KC_NO, KC_NO, KC_J) + [_LAYER0] = LAYOUT( + KC_A, KC_B, KC_C, + KC_D, KC_E, KC_F, + KC_G, KC_H, KC_I, + KC_J + ), + [_LAYER1] = LAYOUT( + KC_A, KC_B, KC_C, + KC_D, KC_E, KC_F, + KC_G, KC_H, KC_I, + KC_J + ), + [_LAYER2] = LAYOUT( + KC_A, KC_B, KC_C, + KC_D, KC_E, KC_F, + KC_G, KC_H, KC_I, + KC_J + ), + [_LAYER3] = LAYOUT( + KC_A, KC_B, KC_C, + KC_D, KC_E, KC_F, + KC_G, KC_H, KC_I, + KC_J + ), + [_LAYER4] = LAYOUT( + KC_A, KC_B, KC_C, + KC_D, KC_E, KC_F, + KC_G, KC_H, KC_I, + KC_J + ), + [_LAYER5] = LAYOUT( + KC_A, KC_B, KC_C, + KC_D, KC_E, KC_F, + KC_G, KC_H, KC_I, + KC_J + ), + [_LAYER6] = LAYOUT( + KC_A, KC_B, KC_C, + KC_D, KC_E, KC_F, + KC_G, KC_H, KC_I, + KC_J + ), + [_LAYER7] = LAYOUT( + KC_A, KC_B, KC_C, + KC_D, KC_E, KC_F, + KC_G, KC_H, KC_I, + KC_J + ), + [_LAYER8] = LAYOUT( + KC_A, KC_B, KC_C, + KC_D, KC_E, KC_F, + KC_G, KC_H, KC_I, + KC_J + ), + [_LAYER9] = LAYOUT( + KC_A, KC_B, KC_C, + KC_D, KC_E, KC_F, + KC_G, KC_H, KC_I, + KC_J + ) }; void matrix_init_user(void) { - #ifdef BACKLIGHT_ENABLE +#ifdef BACKLIGHT_ENABLE backlight_level(0); - #endif +#endif } diff --git a/keyboards/m10a/m10a.c b/keyboards/m10a/m10a.c index 9cc7f069ae..d9e7503a48 100644 --- a/keyboards/m10a/m10a.c +++ b/keyboards/m10a/m10a.c @@ -1,5 +1,19 @@ -#include "m10a.h" +/* Copyright + * 2017 Josh Black (@consolenaut) + * 2021 QMK + * + * 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/>. + */ -void matrix_init_kb(void) { - matrix_init_user(); -}
\ No newline at end of file +#include "m10a.h" diff --git a/keyboards/m10a/m10a.h b/keyboards/m10a/m10a.h index a62913aa2c..2eb14b7a7f 100644 --- a/keyboards/m10a/m10a.h +++ b/keyboards/m10a/m10a.h @@ -1,19 +1,36 @@ -#ifndef M10A_H -#define M10A_H +/* Copyright + * 2017 Josh Black (@consolenaut) + * 2021 QMK + * + * 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 "quantum.h" +#define ___ KC_NO + #define LAYOUT( \ k00, k01, k02, \ k10, k11, k12, \ k20, k21, k22, \ - k30, k31, k32 \ + k32 \ ) \ { \ { k00, k01, k02 }, \ { k10, k11, k12 }, \ { k20, k21, k22 }, \ - { k30, k31, k32 } \ + { ___, ___, k32 } \ } - -#endif diff --git a/keyboards/m10a/readme.md b/keyboards/m10a/readme.md index 7123e6462e..3918ad21bb 100644 --- a/keyboards/m10a/readme.md +++ b/keyboards/m10a/readme.md @@ -1,13 +1,21 @@ # Rama Works X Machine Industries M10-A Macropad -Firmware for custom macropad PCB +![Rama Works X Machine Industries M10-A Macropad](https://raw.githubusercontent.com/noroadsleft/qmk_images/master/keyboards/m10a/image-asset9_640.jpg) -Keyboard Maintainer: QMK Community -Hardware Supported: Rama Works M10-A -Hardware Availability: [Rama Works](https://rama.works/m10-a) +A 10-key macro pad with support for single-color LED backlighting in a milled aluminum case. + +* Keyboard Maintainer: QMK Community +* Hardware Supported: Rama Works M10-A +* Hardware Availability: [Rama Works](https://rama.works/m10-a) Make example for this keyboard (after setting up your build environment): make m10a:default -See [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) then the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. +Flashing example for this keyboard: + + make m10a:default:flash + +To reset the board into bootloader mode, tap the Reset switch mounted on the top side of the PCB, beneath the 2u keycap. + +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). diff --git a/keyboards/m10a/rules.mk b/keyboards/m10a/rules.mk index 71ef0ed649..0f8368e637 100644 --- a/keyboards/m10a/rules.mk +++ b/keyboards/m10a/rules.mk @@ -2,32 +2,24 @@ MCU = atmega32u4 # Bootloader selection -# Teensy halfkay -# Pro Micro caterina -# Atmel DFU atmel-dfu -# LUFA DFU lufa-dfu -# QMK DFU qmk-dfu -# ATmega32A bootloadHID -# ATmega328P USBasp BOOTLOADER = atmel-dfu # Build Options -# change to "no" to disable the options, or define them in the Makefile in -# the appropriate keymap folder that will get included automatically +# change yes to no to disable # BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug -COMMAND_ENABLE = no # Commands for debug and configuration -NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +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 = yes # USB Nkey Rollover BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality -MIDI_ENABLE = no # MIDI controls -AUDIO_ENABLE = no # Audio output on port C6 -UNICODE_ENABLE = yes # Unicode -BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID -RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. -API_SYSEX_ENABLE = yes +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +BLUETOOTH_ENABLE = no # Enable Bluetooth +AUDIO_ENABLE = no # Audio output -# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE -SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +UNICODE_ENABLE = yes # Unicode +API_SYSEX_ENABLE = yes |