forked from qmk/qmk_firmware
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Co-authored-by: Duncan Sutherland <[email protected]>
- Loading branch information
1 parent
5a3e31a
commit a8af29a
Showing
11 changed files
with
495 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,66 @@ | ||
/* Copyright 2023 Cipulot | ||
* | ||
* 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 3 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 | ||
|
||
#define MATRIX_ROWS 5 | ||
#define MATRIX_COLS 14 | ||
|
||
#define MATRIX_ROW_PINS \ | ||
{ B13, B14, B15, A8, A15 } | ||
|
||
#define AMUX_COUNT 2 | ||
#define AMUX_MAX_COLS_COUNT 8 | ||
|
||
#define AMUX_EN_PINS \ | ||
{ B7, B3 } | ||
|
||
#define AMUX_SEL_PINS \ | ||
{ B6, B5, B4 } | ||
|
||
#define AMUX_COL_CHANNELS_SIZES \ | ||
{ 8, 6 } | ||
|
||
#define AMUX_0_COL_CHANNELS \ | ||
{ 0, 3, 1, 2, 4, 5, 6, 7 } | ||
|
||
#define AMUX_1_COL_CHANNELS \ | ||
{ 0, 3, 1, 2, 4, 5 } | ||
|
||
#define AMUX_COL_CHANNELS AMUX_0_COL_CHANNELS, AMUX_1_COL_CHANNELS | ||
|
||
#define DISCHARGE_PIN A3 | ||
#define ANALOG_PORT A2 | ||
|
||
#define DEFAULT_ACTUATION_MODE 0 | ||
#define DEFAULT_MODE_0_ACTUATION_LEVEL 550 | ||
#define DEFAULT_MODE_0_RELEASE_LEVEL 500 | ||
#define DEFAULT_MODE_1_INITIAL_DEADZONE_OFFSET DEFAULT_MODE_0_ACTUATION_LEVEL | ||
#define DEFAULT_MODE_1_ACTUATION_OFFSET 70 | ||
#define DEFAULT_MODE_1_RELEASE_OFFSET 70 | ||
#define DEFAULT_EXTREMUM 1023 | ||
#define EXPECTED_NOISE_FLOOR 0 | ||
#define NOISE_FLOOR_THRESHOLD 50 | ||
#define BOTTOMING_CALIBRATION_THRESHOLD 100 | ||
#define DEFAULT_NOISE_FLOOR_SAMPLING_COUNT 30 | ||
#define DEFAULT_BOTTOMING_READING 1023 | ||
#define DEFAULT_CALIBRATION_STARTER true | ||
|
||
#define DISCHARGE_TIME 10 | ||
|
||
// #define DEBUG_MATRIX_SCAN_RATE | ||
|
||
#define EECONFIG_KB_DATA_SIZE 149 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
/* Copyright 2023 Cipulot | ||
* | ||
* 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 3 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 | ||
|
||
#define HAL_USE_ADC TRUE | ||
|
||
#include_next <halconf.h> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,225 @@ | ||
{ | ||
"manufacturer": "Cipulot", | ||
"keyboard_name": "MNK 60 EC", | ||
"maintainer": "Cipulot", | ||
"bootloader": "stm32-dfu", | ||
"build": { | ||
"lto": true | ||
}, | ||
"diode_direction": "COL2ROW", | ||
"features": { | ||
"bootmagic": false, | ||
"extrakey": true, | ||
"mousekey": true, | ||
"nkro": true | ||
}, | ||
"processor": "STM32F401", | ||
"qmk": { | ||
"locking": { | ||
"enabled": true, | ||
"resync": true | ||
} | ||
}, | ||
"usb": { | ||
"device_version": "0.0.1", | ||
"pid": "0x6BB6", | ||
"vid": "0x6369" | ||
}, | ||
"community_layouts": ["60_ansi_wkl_split_bs_rshift", "60_hhkb", "60_tsangan_hhkb"], | ||
"layouts": { | ||
"LAYOUT_60_ansi_wkl_split_bs_rshift": { | ||
"layout": [ | ||
{"matrix": [0, 0], "x": 0, "y": 0}, | ||
{"matrix": [0, 1], "x": 1, "y": 0}, | ||
{"matrix": [0, 2], "x": 2, "y": 0}, | ||
{"matrix": [0, 3], "x": 3, "y": 0}, | ||
{"matrix": [0, 4], "x": 4, "y": 0}, | ||
{"matrix": [0, 5], "x": 5, "y": 0}, | ||
{"matrix": [0, 6], "x": 6, "y": 0}, | ||
{"matrix": [0, 7], "x": 7, "y": 0}, | ||
{"matrix": [0, 8], "x": 8, "y": 0}, | ||
{"matrix": [0, 9], "x": 9, "y": 0}, | ||
{"matrix": [0, 10], "x": 10, "y": 0}, | ||
{"matrix": [0, 11], "x": 11, "y": 0}, | ||
{"matrix": [0, 12], "x": 12, "y": 0}, | ||
{"matrix": [0, 13], "x": 13, "y": 0}, | ||
{"matrix": [2, 13], "x": 14, "y": 0}, | ||
{"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, | ||
{"matrix": [1, 1], "x": 1.5, "y": 1}, | ||
{"matrix": [1, 2], "x": 2.5, "y": 1}, | ||
{"matrix": [1, 3], "x": 3.5, "y": 1}, | ||
{"matrix": [1, 4], "x": 4.5, "y": 1}, | ||
{"matrix": [1, 5], "x": 5.5, "y": 1}, | ||
{"matrix": [1, 6], "x": 6.5, "y": 1}, | ||
{"matrix": [1, 7], "x": 7.5, "y": 1}, | ||
{"matrix": [1, 8], "x": 8.5, "y": 1}, | ||
{"matrix": [1, 9], "x": 9.5, "y": 1}, | ||
{"matrix": [1, 10], "x": 10.5, "y": 1}, | ||
{"matrix": [1, 11], "x": 11.5, "y": 1}, | ||
{"matrix": [1, 12], "x": 12.5, "y": 1}, | ||
{"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, | ||
{"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, | ||
{"matrix": [2, 1], "x": 1.75, "y": 2}, | ||
{"matrix": [2, 2], "x": 2.75, "y": 2}, | ||
{"matrix": [2, 3], "x": 3.75, "y": 2}, | ||
{"matrix": [2, 4], "x": 4.75, "y": 2}, | ||
{"matrix": [2, 5], "x": 5.75, "y": 2}, | ||
{"matrix": [2, 6], "x": 6.75, "y": 2}, | ||
{"matrix": [2, 7], "x": 7.75, "y": 2}, | ||
{"matrix": [2, 8], "x": 8.75, "y": 2}, | ||
{"matrix": [2, 9], "x": 9.75, "y": 2}, | ||
{"matrix": [2, 10], "x": 10.75, "y": 2}, | ||
{"matrix": [2, 11], "x": 11.75, "y": 2}, | ||
{"matrix": [2, 12], "x": 12.75, "y": 2, "w": 2.25}, | ||
{"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, | ||
{"matrix": [3, 1], "x": 2.25, "y": 3}, | ||
{"matrix": [3, 2], "x": 3.25, "y": 3}, | ||
{"matrix": [3, 3], "x": 4.25, "y": 3}, | ||
{"matrix": [3, 4], "x": 5.25, "y": 3}, | ||
{"matrix": [3, 5], "x": 6.25, "y": 3}, | ||
{"matrix": [3, 6], "x": 7.25, "y": 3}, | ||
{"matrix": [3, 7], "x": 8.25, "y": 3}, | ||
{"matrix": [3, 8], "x": 9.25, "y": 3}, | ||
{"matrix": [3, 9], "x": 10.25, "y": 3}, | ||
{"matrix": [3, 10], "x": 11.25, "y": 3}, | ||
{"matrix": [3, 11], "x": 12.25, "y": 3, "w": 1.75}, | ||
{"matrix": [3, 12], "x": 14, "y": 3}, | ||
{"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, | ||
{"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, | ||
{"matrix": [4, 5], "x": 4, "y": 4, "w": 7}, | ||
{"matrix": [4, 10], "x": 11, "y": 4, "w": 1.5}, | ||
{"matrix": [4, 12], "x": 13.5, "y": 4, "w": 1.5} | ||
] | ||
}, | ||
"LAYOUT_60_hhkb": { | ||
"layout": [ | ||
{"matrix": [0, 0], "x": 0, "y": 0}, | ||
{"matrix": [0, 1], "x": 1, "y": 0}, | ||
{"matrix": [0, 2], "x": 2, "y": 0}, | ||
{"matrix": [0, 3], "x": 3, "y": 0}, | ||
{"matrix": [0, 4], "x": 4, "y": 0}, | ||
{"matrix": [0, 5], "x": 5, "y": 0}, | ||
{"matrix": [0, 6], "x": 6, "y": 0}, | ||
{"matrix": [0, 7], "x": 7, "y": 0}, | ||
{"matrix": [0, 8], "x": 8, "y": 0}, | ||
{"matrix": [0, 9], "x": 9, "y": 0}, | ||
{"matrix": [0, 10], "x": 10, "y": 0}, | ||
{"matrix": [0, 11], "x": 11, "y": 0}, | ||
{"matrix": [0, 12], "x": 12, "y": 0}, | ||
{"matrix": [0, 13], "x": 13, "y": 0}, | ||
{"matrix": [2, 13], "x": 14, "y": 0}, | ||
{"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, | ||
{"matrix": [1, 1], "x": 1.5, "y": 1}, | ||
{"matrix": [1, 2], "x": 2.5, "y": 1}, | ||
{"matrix": [1, 3], "x": 3.5, "y": 1}, | ||
{"matrix": [1, 4], "x": 4.5, "y": 1}, | ||
{"matrix": [1, 5], "x": 5.5, "y": 1}, | ||
{"matrix": [1, 6], "x": 6.5, "y": 1}, | ||
{"matrix": [1, 7], "x": 7.5, "y": 1}, | ||
{"matrix": [1, 8], "x": 8.5, "y": 1}, | ||
{"matrix": [1, 9], "x": 9.5, "y": 1}, | ||
{"matrix": [1, 10], "x": 10.5, "y": 1}, | ||
{"matrix": [1, 11], "x": 11.5, "y": 1}, | ||
{"matrix": [1, 12], "x": 12.5, "y": 1}, | ||
{"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, | ||
{"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, | ||
{"matrix": [2, 1], "x": 1.75, "y": 2}, | ||
{"matrix": [2, 2], "x": 2.75, "y": 2}, | ||
{"matrix": [2, 3], "x": 3.75, "y": 2}, | ||
{"matrix": [2, 4], "x": 4.75, "y": 2}, | ||
{"matrix": [2, 5], "x": 5.75, "y": 2}, | ||
{"matrix": [2, 6], "x": 6.75, "y": 2}, | ||
{"matrix": [2, 7], "x": 7.75, "y": 2}, | ||
{"matrix": [2, 8], "x": 8.75, "y": 2}, | ||
{"matrix": [2, 9], "x": 9.75, "y": 2}, | ||
{"matrix": [2, 10], "x": 10.75, "y": 2}, | ||
{"matrix": [2, 11], "x": 11.75, "y": 2}, | ||
{"matrix": [2, 12], "x": 12.75, "y": 2, "w": 2.25}, | ||
{"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, | ||
{"matrix": [3, 1], "x": 2.25, "y": 3}, | ||
{"matrix": [3, 2], "x": 3.25, "y": 3}, | ||
{"matrix": [3, 3], "x": 4.25, "y": 3}, | ||
{"matrix": [3, 4], "x": 5.25, "y": 3}, | ||
{"matrix": [3, 5], "x": 6.25, "y": 3}, | ||
{"matrix": [3, 6], "x": 7.25, "y": 3}, | ||
{"matrix": [3, 7], "x": 8.25, "y": 3}, | ||
{"matrix": [3, 8], "x": 9.25, "y": 3}, | ||
{"matrix": [3, 9], "x": 10.25, "y": 3}, | ||
{"matrix": [3, 10], "x": 11.25, "y": 3}, | ||
{"matrix": [3, 11], "x": 12.25, "y": 3, "w": 1.75}, | ||
{"matrix": [3, 12], "x": 14, "y": 3}, | ||
{"matrix": [4, 1], "x": 1.5, "y": 4}, | ||
{"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, | ||
{"matrix": [4, 5], "x": 4, "y": 4, "w": 7}, | ||
{"matrix": [4, 10], "x": 11, "y": 4, "w": 1.5}, | ||
{"matrix": [4, 11], "x": 12.5, "y": 4} | ||
] | ||
}, | ||
"LAYOUT_60_tsangan_hhkb": { | ||
"layout": [ | ||
{"matrix": [0, 0], "x": 0, "y": 0}, | ||
{"matrix": [0, 1], "x": 1, "y": 0}, | ||
{"matrix": [0, 2], "x": 2, "y": 0}, | ||
{"matrix": [0, 3], "x": 3, "y": 0}, | ||
{"matrix": [0, 4], "x": 4, "y": 0}, | ||
{"matrix": [0, 5], "x": 5, "y": 0}, | ||
{"matrix": [0, 6], "x": 6, "y": 0}, | ||
{"matrix": [0, 7], "x": 7, "y": 0}, | ||
{"matrix": [0, 8], "x": 8, "y": 0}, | ||
{"matrix": [0, 9], "x": 9, "y": 0}, | ||
{"matrix": [0, 10], "x": 10, "y": 0}, | ||
{"matrix": [0, 11], "x": 11, "y": 0}, | ||
{"matrix": [0, 12], "x": 12, "y": 0}, | ||
{"matrix": [0, 13], "x": 13, "y": 0}, | ||
{"matrix": [2, 13], "x": 14, "y": 0}, | ||
{"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, | ||
{"matrix": [1, 1], "x": 1.5, "y": 1}, | ||
{"matrix": [1, 2], "x": 2.5, "y": 1}, | ||
{"matrix": [1, 3], "x": 3.5, "y": 1}, | ||
{"matrix": [1, 4], "x": 4.5, "y": 1}, | ||
{"matrix": [1, 5], "x": 5.5, "y": 1}, | ||
{"matrix": [1, 6], "x": 6.5, "y": 1}, | ||
{"matrix": [1, 7], "x": 7.5, "y": 1}, | ||
{"matrix": [1, 8], "x": 8.5, "y": 1}, | ||
{"matrix": [1, 9], "x": 9.5, "y": 1}, | ||
{"matrix": [1, 10], "x": 10.5, "y": 1}, | ||
{"matrix": [1, 11], "x": 11.5, "y": 1}, | ||
{"matrix": [1, 12], "x": 12.5, "y": 1}, | ||
{"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, | ||
{"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, | ||
{"matrix": [2, 1], "x": 1.75, "y": 2}, | ||
{"matrix": [2, 2], "x": 2.75, "y": 2}, | ||
{"matrix": [2, 3], "x": 3.75, "y": 2}, | ||
{"matrix": [2, 4], "x": 4.75, "y": 2}, | ||
{"matrix": [2, 5], "x": 5.75, "y": 2}, | ||
{"matrix": [2, 6], "x": 6.75, "y": 2}, | ||
{"matrix": [2, 7], "x": 7.75, "y": 2}, | ||
{"matrix": [2, 8], "x": 8.75, "y": 2}, | ||
{"matrix": [2, 9], "x": 9.75, "y": 2}, | ||
{"matrix": [2, 10], "x": 10.75, "y": 2}, | ||
{"matrix": [2, 11], "x": 11.75, "y": 2}, | ||
{"matrix": [2, 12], "x": 12.75, "y": 2, "w": 2.25}, | ||
{"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, | ||
{"matrix": [3, 1], "x": 2.25, "y": 3}, | ||
{"matrix": [3, 2], "x": 3.25, "y": 3}, | ||
{"matrix": [3, 3], "x": 4.25, "y": 3}, | ||
{"matrix": [3, 4], "x": 5.25, "y": 3}, | ||
{"matrix": [3, 5], "x": 6.25, "y": 3}, | ||
{"matrix": [3, 6], "x": 7.25, "y": 3}, | ||
{"matrix": [3, 7], "x": 8.25, "y": 3}, | ||
{"matrix": [3, 8], "x": 9.25, "y": 3}, | ||
{"matrix": [3, 9], "x": 10.25, "y": 3}, | ||
{"matrix": [3, 10], "x": 11.25, "y": 3}, | ||
{"matrix": [3, 11], "x": 12.25, "y": 3, "w": 1.75}, | ||
{"matrix": [3, 12], "x": 14, "y": 3}, | ||
{"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, | ||
{"matrix": [4, 1], "x": 1.5, "y": 4}, | ||
{"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, | ||
{"matrix": [4, 5], "x": 4, "y": 4, "w": 7}, | ||
{"matrix": [4, 10], "x": 11, "y": 4, "w": 1.5}, | ||
{"matrix": [4, 11], "x": 12.5, "y": 4}, | ||
{"matrix": [4, 12], "x": 13.5, "y": 4, "w": 1.5} | ||
] | ||
} | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,42 @@ | ||
/* Copyright 2023 Cipulot | ||
* | ||
* 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 3 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/>. | ||
*/ | ||
|
||
#include QMK_KEYBOARD_H | ||
|
||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
// clang-format off | ||
[0] = LAYOUT_60_hhkb( | ||
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV, | ||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_DEL, | ||
KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENTER, | ||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), | ||
KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RALT), | ||
|
||
[1] = LAYOUT_60_hhkb( | ||
_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL, | ||
KC_CAPS, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUSE, KC_UP, _______, KC_BSPC, | ||
_______, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, S(KC_8), KC_SLSH, KC_HOME, KC_PGUP, KC_LEFT, KC_RIGHT, _______, | ||
_______, _______, _______, _______, _______, _______, S(KC_EQL), KC_MINS, KC_END, KC_PGDN, KC_DOWN, _______, _______, | ||
_______, _______, _______, _______, MO(2)), | ||
|
||
[2] = LAYOUT_60_hhkb( | ||
QK_BOOT, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | ||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | ||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | ||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | ||
_______, _______, _______, _______, _______) | ||
// clang-format on | ||
}; |
Oops, something went wrong.