aboutsummaryrefslogtreecommitdiff
path: root/keyboards/m10a
diff options
context:
space:
mode:
authorJack Humbert <jack.humb@gmail.com>2017-05-18 18:55:07 -0400
committerJack Humbert <jack.humb@gmail.com>2017-05-18 18:55:07 -0400
commit85df6873487000583454657fb20ac7cea7194f8d (patch)
tree71a489a237a64ff26f16759627cc59f602a2579c /keyboards/m10a
parent0d8c73dc8d10d89d93eeec1f61995c0c73b6f81f (diff)
downloadqmk_firmware-85df6873487000583454657fb20ac7cea7194f8d.tar.gz
qmk_firmware-85df6873487000583454657fb20ac7cea7194f8d.zip
m10a lowercase
Diffstat (limited to 'keyboards/m10a')
-rw-r--r--keyboards/m10a/Makefile3
-rw-r--r--keyboards/m10a/config.h82
-rw-r--r--keyboards/m10a/keymaps/default/Makefile3
-rw-r--r--keyboards/m10a/keymaps/default/keymap.c49
-rw-r--r--keyboards/m10a/m10a.c5
-rw-r--r--keyboards/m10a/m10a.h19
-rw-r--r--keyboards/m10a/rules.mk68
7 files changed, 229 insertions, 0 deletions
diff --git a/keyboards/m10a/Makefile b/keyboards/m10a/Makefile
new file mode 100644
index 000000000..4e2a6f00f
--- /dev/null
+++ b/keyboards/m10a/Makefile
@@ -0,0 +1,3 @@
1ifndef MAKEFILE_INCLUDED
2 include ../../Makefile
3endif \ No newline at end of file
diff --git a/keyboards/m10a/config.h b/keyboards/m10a/config.h
new file mode 100644
index 000000000..f052ab629
--- /dev/null
+++ b/keyboards/m10a/config.h
@@ -0,0 +1,82 @@
1/*
2Copyright 2012 Jun Wako <wakojun@gmail.com>
3
4This program is free software: you can redistribute it and/or modify
5it under the terms of the GNU General Public License as published by
6the Free Software Foundation, either version 2 of the License, or
7(at your option) any later version.
8
9This program is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12GNU General Public License for more details.
13
14You should have received a copy of the GNU General Public License
15along with this program. If not, see <http://www.gnu.org/licenses/>.
16*/
17
18#ifndef CONFIG_H
19#define CONFIG_H
20
21#include "config_common.h"
22
23/* USB Device descriptor parameter */
24#define VENDOR_ID 0xFEED
25#define PRODUCT_ID 0x0007
26#define DEVICE_VER 0x0001
27#define MANUFACTURER Machine Industries
28#define PRODUCT M10-A
29#define DESCRIPTION RAMA x Machine Industries M10-A
30
31/* key matrix size */
32#define MATRIX_ROWS 4
33#define MATRIX_COLS 3
34
35/* Planck PCB default pin-out */
36#define MATRIX_ROW_PINS { B6, F7, F6, D6 }
37#define MATRIX_COL_PINS { F5, F1, F0 }
38#define UNUSED_PINS
39
40#define BACKLIGHT_PIN B7
41
42/* COL2ROW or ROW2COL */
43#define DIODE_DIRECTION ROW2COL
44
45/* define if matrix has ghost */
46//#define MATRIX_HAS_GHOST
47
48/* number of backlight levels */
49#define BACKLIGHT_LEVELS 6
50
51/* Set 0 if debouncing isn't needed */
52#define DEBOUNCING_DELAY 5
53
54/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
55#define LOCKING_SUPPORT_ENABLE
56/* Locking resynchronize hack */
57#define LOCKING_RESYNC_ENABLE
58
59/* key combination for command */
60#define IS_COMMAND() ( \
61 keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
62)
63
64/*
65 * Feature disable options
66 * These options are also useful to firmware size reduction.
67 */
68
69/* disable debug print */
70//#define NO_DEBUG
71
72/* disable print */
73//#define NO_PRINT
74
75/* disable action features */
76//#define NO_ACTION_LAYER
77//#define NO_ACTION_TAPPING
78//#define NO_ACTION_ONESHOT
79//#define NO_ACTION_MACRO
80//#define NO_ACTION_FUNCTION
81
82#endif
diff --git a/keyboards/m10a/keymaps/default/Makefile b/keyboards/m10a/keymaps/default/Makefile
new file mode 100644
index 000000000..457a3d01d
--- /dev/null
+++ b/keyboards/m10a/keymaps/default/Makefile
@@ -0,0 +1,3 @@
1ifndef QUANTUM_DIR
2 include ../../../../Makefile
3endif
diff --git a/keyboards/m10a/keymaps/default/keymap.c b/keyboards/m10a/keymaps/default/keymap.c
new file mode 100644
index 000000000..97434a461
--- /dev/null
+++ b/keyboards/m10a/keymaps/default/keymap.c
@@ -0,0 +1,49 @@
1// This is the canonical layout file for the Quantum project. If you want to add another keyboard,
2// this is the style you want to emulate.
3
4#include "m10a.h"
5#include "action_layer.h"
6#include "eeconfig.h"
7
8extern keymap_config_t keymap_config;
9
10// Each layer gets a name for readability, which is then used in the keymap matrix below.
11// The underscores don't mean anything - you can have a layer called STUFF or any other name.
12// Layer names don't all need to be of the same length, obviously, and you can also skip them
13// entirely and just use numbers.
14
15enum layers {
16 _LAYER0,
17 _LAYER1,
18 _LAYER2,
19 _LAYER3,
20 _LAYER4,
21 _LAYER5,
22 _LAYER6,
23 _LAYER7,
24 _LAYER8,
25 _LAYER9
26};
27
28// // Fillers to make layering more clear
29// #define _______ KC_TRNS
30// #define XXXXXXX KC_NO
31
32const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
33 [_LAYER0] = {{KC_A, KC_B, KC_C}, {KC_D, KC_E, KC_F}, {KC_G, KC_H, KC_I}, {KC_NO, KC_NO, KC_J}},
34 [_LAYER1] = {{KC_A, KC_B, KC_C}, {KC_D, KC_E, KC_F}, {KC_G, KC_H, KC_I}, {KC_NO, KC_NO, KC_J}},
35 [_LAYER2] = {{KC_A, KC_B, KC_C}, {KC_D, KC_E, KC_F}, {KC_G, KC_H, KC_I}, {KC_NO, KC_NO, KC_J}},
36 [_LAYER3] = {{KC_A, KC_B, KC_C}, {KC_D, KC_E, KC_F}, {KC_G, KC_H, KC_I}, {KC_NO, KC_NO, KC_J}},
37 [_LAYER4] = {{KC_A, KC_B, KC_C}, {KC_D, KC_E, KC_F}, {KC_G, KC_H, KC_I}, {KC_NO, KC_NO, KC_J}},
38 [_LAYER5] = {{KC_A, KC_B, KC_C}, {KC_D, KC_E, KC_F}, {KC_G, KC_H, KC_I}, {KC_NO, KC_NO, KC_J}},
39 [_LAYER6] = {{KC_A, KC_B, KC_C}, {KC_D, KC_E, KC_F}, {KC_G, KC_H, KC_I}, {KC_NO, KC_NO, KC_J}},
40 [_LAYER7] = {{KC_A, KC_B, KC_C}, {KC_D, KC_E, KC_F}, {KC_G, KC_H, KC_I}, {KC_NO, KC_NO, KC_J}},
41 [_LAYER8] = {{KC_A, KC_B, KC_C}, {KC_D, KC_E, KC_F}, {KC_G, KC_H, KC_I}, {KC_NO, KC_NO, KC_J}},
42 [_LAYER9] = {{KC_A, KC_B, KC_C}, {KC_D, KC_E, KC_F}, {KC_G, KC_H, KC_I}, {KC_NO, KC_NO, KC_J}}
43};
44
45void matrix_init_user(void) {
46 #ifdef BACKLIGHT_ENABLE
47 backlight_level(0);
48 #endif
49}
diff --git a/keyboards/m10a/m10a.c b/keyboards/m10a/m10a.c
new file mode 100644
index 000000000..9cc7f069a
--- /dev/null
+++ b/keyboards/m10a/m10a.c
@@ -0,0 +1,5 @@
1#include "m10a.h"
2
3void matrix_init_kb(void) {
4 matrix_init_user();
5} \ No newline at end of file
diff --git a/keyboards/m10a/m10a.h b/keyboards/m10a/m10a.h
new file mode 100644
index 000000000..6ec334fb3
--- /dev/null
+++ b/keyboards/m10a/m10a.h
@@ -0,0 +1,19 @@
1#ifndef M10A_H
2#define M10A_H
3
4#include "quantum.h"
5
6#define M10A( \
7 k00, k01, k02, \
8 k10, k11, k12, \
9 k20, k21, k22, \
10 k30, k31, k32 \
11) \
12{ \
13 { k00, k01, k02 }, \
14 { k10, k11, k12 }, \
15 { k20, k21, k22 }, \
16 { k30, k31, k32 } \
17}
18
19#endif
diff --git a/keyboards/m10a/rules.mk b/keyboards/m10a/rules.mk
new file mode 100644
index 000000000..f5a785dbc
--- /dev/null
+++ b/keyboards/m10a/rules.mk
@@ -0,0 +1,68 @@
1# MCU name
2#MCU = at90usb1287
3MCU = atmega32u4
4
5# Processor frequency.
6# This will define a symbol, F_CPU, in all source code files equal to the
7# processor frequency in Hz. You can then use this symbol in your source code to
8# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
9# automatically to create a 32-bit value in your source code.
10#
11# This will be an integer division of F_USB below, as it is sourced by
12# F_USB after it has run through any CPU prescalers. Note that this value
13# does not *change* the processor frequency - it should merely be updated to
14# reflect the processor speed set externally so that the code can use accurate
15# software delays.
16F_CPU = 16000000
17
18#
19# LUFA specific
20#
21# Target architecture (see library "Board Types" documentation).
22ARCH = AVR8
23
24# Input clock frequency.
25# This will define a symbol, F_USB, in all source code files equal to the
26# input clock frequency (before any prescaling is performed) in Hz. This value may
27# differ from F_CPU if prescaling is used on the latter, and is required as the
28# raw input clock is fed directly to the PLL sections of the AVR for high speed
29# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
30# at the end, this will be done automatically to create a 32-bit value in your
31# source code.
32#
33# If no clock division is performed on the input clock inside the AVR (via the
34# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
35F_USB = $(F_CPU)
36
37# Interrupt driven control endpoint task(+60)
38OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
39
40
41# Boot Section Size in *bytes*
42# Teensy halfKay 512
43# Teensy++ halfKay 1024
44# Atmel DFU loader 4096
45# LUFA bootloader 4096
46# USBaspLoader 2048
47OPT_DEFS += -DBOOTLOADER_SIZE=4096
48
49# Build Options
50# change to "no" to disable the options, or define them in the Makefile in
51# the appropriate keymap folder that will get included automatically
52#
53BOOTMAGIC_ENABLE ?= no # Virtual DIP switch configuration(+1000)
54MOUSEKEY_ENABLE ?= yes # Mouse keys(+4700)
55EXTRAKEY_ENABLE ?= yes # Audio control and System control(+450)
56CONSOLE_ENABLE ?= no # Console for debug(+400)
57COMMAND_ENABLE ?= no # Commands for debug and configuration
58NKRO_ENABLE ?= yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
59BACKLIGHT_ENABLE ?= yes # Enable keyboard backlight functionality
60MIDI_ENABLE ?= no # MIDI controls
61AUDIO_ENABLE ?= no # Audio output on port C6
62UNICODE_ENABLE ?= yes # Unicode
63BLUETOOTH_ENABLE ?= no # Enable Bluetooth with the Adafruit EZ-Key HID
64RGBLIGHT_ENABLE ?= no # Enable WS2812 RGB underlight.
65API_SYSEX_ENABLE = yes
66
67# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
68SLEEP_LED_ENABLE ?= no # Breathing sleep LED during USB suspend