Skip to content

Commit b0845d2

Browse files
committed
[Keyboard] Add ADM42 Keyboard
1 parent a50b09c commit b0845d2

File tree

7 files changed

+428
-0
lines changed

7 files changed

+428
-0
lines changed

keyboards/adm42/adm42.c

+17
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
/* Copyright 2020-2022 Lorenzo Leonini
2+
* SPDX-License-Identifier: GPL-2.0-only
3+
*
4+
* This program is free software: you can redistribute it and/or modify
5+
* it under the terms of the GNU General Public License version 2 as
6+
* published by the Free Software Foundation.
7+
*
8+
* This program is distributed in the hope that it will be useful,
9+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
10+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11+
* GNU General Public License for more details.
12+
*
13+
* You should have received a copy of the GNU General Public License
14+
* along with this program. If not, see <http://www.gnu.org/licenses/>.
15+
*/
16+
17+
#include "adm42.h"

keyboards/adm42/adm42.h

+31
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
/* Copyright 2020-2022 Lorenzo Leonini
2+
* SPDX-License-Identifier: GPL-2.0-only
3+
*
4+
* This program is free software: you can redistribute it and/or modify
5+
* it under the terms of the GNU General Public License version 2 as
6+
* published by the Free Software Foundation.
7+
*
8+
* This program is distributed in the hope that it will be useful,
9+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
10+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11+
* GNU General Public License for more details.
12+
*
13+
* You should have received a copy of the GNU General Public License
14+
* along with this program. If not, see <http://www.gnu.org/licenses/>.
15+
*/
16+
17+
#pragma once
18+
19+
#include "quantum.h"
20+
21+
#define LAYOUT_adm42_3x12_6( \
22+
K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, \
23+
K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, \
24+
K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, \
25+
K404, K405, K406, K407, K408, K409 \
26+
) { \
27+
{ K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112 }, \
28+
{ K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212 }, \
29+
{ K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312 }, \
30+
{ KC_NO, KC_NO, KC_NO, K404, K405, K407, K406, K408, K409, KC_NO, KC_NO, KC_NO } \
31+
}

keyboards/adm42/config.h

+93
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,93 @@
1+
/* Copyright 2020-2022 Lorenzo Leonini
2+
* SPDX-License-Identifier: GPL-2.0-only
3+
*
4+
* This program is free software: you can redistribute it and/or modify
5+
* it under the terms of the GNU General Public License version 2 as
6+
* published by the Free Software Foundation.
7+
*
8+
* This program is distributed in the hope that it will be useful,
9+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
10+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11+
* GNU General Public License for more details.
12+
*
13+
* You should have received a copy of the GNU General Public License
14+
* along with this program. If not, see <http://www.gnu.org/licenses/>.
15+
*/
16+
17+
#pragma once
18+
19+
#include "config_common.h"
20+
21+
/* Microchip ADM42 sublicensing */
22+
#define VENDOR_ID 0x04D8
23+
#define PRODUCT_ID 0xE873
24+
25+
#define DEVICE_VER 0x0001
26+
#define MANUFACTURER Lorenzo Leonini
27+
#define PRODUCT ADM42
28+
29+
#define MATRIX_ROWS 4
30+
#define MATRIX_COLS 12
31+
32+
#define DIODE_DIRECTION ROW2COL
33+
34+
#define HOLD_ON_OTHER_KEY_PRESS_PER_KEY
35+
#define TAPPING_FORCE_HOLD_PER_KEY
36+
#define IGNORE_MOD_TAP_INTERRUPT_PER_KEY
37+
#define TAPPING_TERM 200
38+
39+
#define USB_POLLING_INTERVAL_MS 1
40+
#define TAP_CODE_DELAY 1
41+
#define DEBOUNCE 10
42+
43+
#if defined(CONSOLE_ENABLE)
44+
#define DEBUG_MATRIX_SCAN_RATE
45+
#endif
46+
47+
// Memory saver
48+
#define NO_ACTION_ONE_SHOT
49+
#if !defined(CONSOLE_ENABLE)
50+
#if !defined(NO_DEBUG)
51+
#define NO_DEBUG
52+
#endif
53+
#if !defined(NO_PRINT)
54+
#define NO_PRINT
55+
#endif
56+
#endif
57+
58+
#define MATRIX_COL_PINS { C6, B6, B5, B4, D7, D6, F0, F1, F4, F5, F6, F7 }
59+
#define MATRIX_ROW_PINS { C7, D5, D3, D2 }
60+
61+
#define QMK_LED E6
62+
63+
#define RGB_DI_PIN B7
64+
65+
#define DRIVER_LED_TOTAL 42
66+
#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 170
67+
#define RGB_MATRIX_CENTER { 112, 32 }
68+
#define RGB_DISABLE_WHEN_USB_SUSPENDED
69+
#define RGB_MATRIX_LED_PROCESS_LIMIT 21
70+
#define RGB_MATRIX_LED_FLUSH_LIMIT 16
71+
#define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_CYCLE_LEFT_RIGHT
72+
#define RGB_MATRIX_TYPING_HEATMAP_DECREASE_DELAY_MS 20
73+
#define RGB_MATRIX_KEYPRESSES
74+
#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
75+
#define RGB_MATRIX_SAT_STEP 24
76+
#define RGB_MATRIX_HUE_STEP 8
77+
#define RGB_MATRIX_VAL_STEP 16
78+
#define RGB_MATRIX_SPD_STEP 16
79+
80+
#define ENABLE_RGB_MATRIX_BREATHING
81+
#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
82+
#define ENABLE_RGBLIGHT_MODE_STATIC_LIGHT
83+
#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
84+
#define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
85+
#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
86+
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
87+
#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
88+
#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
89+
#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
90+
#define ENABLE_RGB_MATRIX_PIXEL_RAIN
91+
#define ENABLE_RGB_MATRIX_DIGITAL_RAIN
92+
#define ENABLE_RGB_MATRIX_BAND_VAL
93+
#define ENABLE_RGB_MATRIX_SPLASH

keyboards/adm42/readme.md

+27
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
# ADM42
2+
3+
![ADM42](https://adm42.dev/images/adm42.jpg)
4+
5+
A compact ergonomic 40% ortholinear keyboard. [More info on ADM42.dev](https://adm42.dev)
6+
7+
* Keyboard Maintainer: [Lorenzo Leonini](https://github.com/lleonini)
8+
* Hardware Supported: ADM42
9+
* Hardware Availability: [Shop](https://shop.adm42.dev)
10+
11+
Make example for this keyboard (after setting up your build environment):
12+
13+
make adm42:default
14+
15+
Flashing example for this keyboard:
16+
17+
make adm42:default:dfu
18+
19+
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).
20+
21+
## Bootloader
22+
23+
Enter the bootloader in 3 ways:
24+
25+
* **Keycode in layout**: Press the key mapped to `RESET` if it is available
26+
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (the top left key) and plug in the keyboard
27+
* **Physical reset button**: Briefly press the button on the back of the PCB

0 commit comments

Comments
 (0)