Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Mod Mmm PCB #23836

Open
wants to merge 41 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
41 commits
Select commit Hold shift + click to select a range
cc2a4fc
Mod Mmm support
dcpedit Mar 19, 2024
1a53b4f
Update readme
dcpedit Mar 19, 2024
ed8e764
Fix keymapping
dcpedit Apr 23, 2024
b531617
Split ortho vs standard
dcpedit May 15, 2024
1a39d17
Add ortho to readme
dcpedit May 30, 2024
5507aa9
Move url
dcpedit May 31, 2024
ae11de2
revert chibios-contrib
dcpedit May 31, 2024
1c0834e
Update keyboards/dcpedit/modmmm/info.json
dcpedit May 31, 2024
ab80654
Update keyboards/dcpedit/modmmm/mcuconf.h
dcpedit May 31, 2024
a510d44
Update keyboards/dcpedit/modmmm/config.h
dcpedit May 31, 2024
c0ef266
Update keyboards/dcpedit/modmmm/rules.mk
dcpedit May 31, 2024
3edf426
remove rules.mk
dcpedit May 31, 2024
82078b8
Add widths to keyboard json
dcpedit May 31, 2024
dd3f490
Mod Mmm support
dcpedit Mar 19, 2024
2b16c6d
Update readme
dcpedit Mar 19, 2024
c7857be
Fix keymapping
dcpedit Apr 23, 2024
0c92668
Split ortho vs standard
dcpedit May 15, 2024
713a7d6
Add ortho to readme
dcpedit May 30, 2024
12bd313
Move url
dcpedit May 31, 2024
a58ab97
Update keyboards/dcpedit/modmmm/info.json
dcpedit May 31, 2024
25cc365
Update keyboards/dcpedit/modmmm/mcuconf.h
dcpedit May 31, 2024
12e46ab
Update keyboards/dcpedit/modmmm/config.h
dcpedit May 31, 2024
021487b
Update keyboards/dcpedit/modmmm/rules.mk
dcpedit May 31, 2024
ed8ace9
remove rules.mk
dcpedit May 31, 2024
015b698
Add widths to keyboard json
dcpedit May 31, 2024
8e7418b
Rename info.json to keyboard.json
dcpedit Jun 1, 2024
8ec5e02
Move layouts to info.json
dcpedit Jun 1, 2024
eca31eb
Revert "[docs] Remove gitbook directory (#23839)"
dcpedit Jun 1, 2024
f68ef6a
Move layout data back into respective keyboard.json
dcpedit Jun 1, 2024
ee4532a
Update keyboards/dcpedit/modmmm/readme.md
dcpedit Jun 10, 2024
0e74be0
Add additional layouts to keyboard.json
dcpedit Jun 10, 2024
7045999
Update keyboards/dcpedit/modmmm/readme.md
dcpedit Jun 10, 2024
99e76dd
Update keyboards/dcpedit/modmmm/readme.md
dcpedit Jun 10, 2024
aebaa23
Merge branch 'modmmm' of github.com:dcpedit/qmk_firmware into modmmm
dcpedit Jun 10, 2024
2d4c32d
Update keyboards/dcpedit/modmmm/ortho/keyboard.json
dcpedit Jun 11, 2024
88a14eb
Update keyboards/dcpedit/modmmm/standard/keyboard.json
dcpedit Jun 11, 2024
6e44d23
revert unrelated files
dcpedit Aug 5, 2024
1dd16d8
Update keyboards/dcpedit/modmmm/config.h
dcpedit Oct 15, 2024
e823a81
format info.json
dcpedit Oct 15, 2024
bcc7342
remove VIA files
dcpedit Oct 15, 2024
1f9941d
Duplicate rules.mk
dcpedit Oct 22, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Mod Mmm support
  • Loading branch information
dcpedit committed Jun 1, 2024
commit dd3f49003604abb981845d5efc10eadbc567abac
18 changes: 18 additions & 0 deletions keyboards/dcpedit/modmmm/config.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
// Copyright 2023 Ming-Gih Lam (@dcpedit)
// SPDX-License-Identifier: GPL-2.0-or-later

#pragma once

#define SOLENOID_PIN A10

#define AUDIO_INIT_DELAY
#define AUDIO_PIN A8
#define AUDIO_PWM_DRIVER PWMD1
#define AUDIO_PWM_CHANNEL 1
#define AUDIO_PWM_PAL_MODE 1
#define AUDIO_CLICKY
#define AUDIO_CLICKY_FREQ_RANDOMNESS 1.5f

#ifdef AUDIO_ENABLE
#define STARTUP_SONG SONG(STARTUP_SOUND)
#endif
dcpedit marked this conversation as resolved.
Show resolved Hide resolved
9 changes: 9 additions & 0 deletions keyboards/dcpedit/modmmm/halconf.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
// Copyright 2024 Ming-Gih Lam (@dcpedit)
// SPDX-License-Identifier: GPL-2.0-or-later

#pragma once

// Used for audio
#define HAL_USE_PWM TRUE

#include_next <halconf.h>
287 changes: 287 additions & 0 deletions keyboards/dcpedit/modmmm/info.json
dcpedit marked this conversation as resolved.
Show resolved Hide resolved

Large diffs are not rendered by default.

44 changes: 44 additions & 0 deletions keyboards/dcpedit/modmmm/keymaps/default/keymap.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
{
"keyboard": "dcpedit/modelmmm",
"keymap": "default",
"author": "dcpedit",
"version": 1,
"layout": "LAYOUT_stag",
"config": {
"features": {
"encoder_map": true
}
},
"encoders": [
[
{ "ccw": "KC_VOLD", "cw": "KC_VOLU" },
{ "ccw": "KC_PGDN", "cw": "KC_PGUP" },
{ "ccw": "KC_DOWN", "cw": "KC_UP" }
],
[
{ "ccw": "_______", "cw": "_______" },
{ "ccw": "_______", "cw": "_______" },
{ "ccw": "_______", "cw": "_______" }
]
],
"layers": [
[
"KC_ESC", "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_PSCR", "KC_SCRL", "MO(1)",

"KC_GRV", "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_BSPC", "KC_INS", "KC_HOME", "KC_PGUP", "KC_NUM", "KC_PSLS", "KC_PAST", "KC_PMNS",
"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_BSLS", "KC_DEL", "KC_END", "KC_PGDN", "KC_P7", "KC_P8", "KC_P9", "KC_PPLS",
"KC_CAPS", "KC_A", "KC_S", "KC_D", "KC_F", "KC_G", "KC_H", "KC_J", "KC_K", "KC_L", "KC_SCLN", "KC_QUOT", "KC_ENT", "KC_P4", "KC_P5", "KC_P6", "_______",
"KC_LSFT", "KC_BSLS", "KC_Z", "KC_X", "KC_C", "KC_V", "KC_B", "KC_N", "KC_M", "KC_COMM", "KC_DOT", "KC_SLSH", "KC_BSLS", "KC_RSFT", "KC_UP", "KC_P1", "KC_P2", "KC_P3", "KC_PENT",
"KC_LCTL", "KC_LALT", "KC_BSPC", "KC_SPC", "MO(1)", "KC_RALT", "KC_RCTL", "KC_LEFT", "KC_DOWN", "KC_RGHT", "KC_P0", "_______", "KC_PDOT", "_______"
],
[
"QK_RBT", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______",

"QK_BOOT", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "AU_TOGG", "_______", "_______", "_______", "_______",
"_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "HF_TOGG", "_______", "_______", "_______", "_______",
"_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______",
"_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______",
"_______", "KC_LGUI", "_______", "_______", "_______", "KC_RGUI", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______"
]
]
}
44 changes: 44 additions & 0 deletions keyboards/dcpedit/modmmm/keymaps/ortho/keymap.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
{
"keyboard": "dcpedit/modelmmm",
"keymap": "default",
"author": "dcpedit",
"version": 1,
"layout": "LAYOUT_ortho",
"config": {
"features": {
"encoder_map": true
}
},
"encoders": [
[
{ "ccw": "KC_VOLD", "cw": "KC_VOLU" },
{ "ccw": "KC_PGDN", "cw": "KC_PGUP" },
{ "ccw": "KC_DOWN", "cw": "KC_UP" }
],
[
{ "ccw": "_______", "cw": "_______" },
{ "ccw": "_______", "cw": "_______" },
{ "ccw": "_______", "cw": "_______" }
]
],
"layers": [
[
"KC_ESC", "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_PSCR", "KC_SCRL", "MO(1)",

"KC_GRV", "KC_1", "KC_2", "KC_3", "KC_4", "KC_5", "KC_6", "_______", "_______", "KC_7", "KC_8", "KC_9", "KC_0", "KC_BSPC", "KC_INS", "KC_HOME", "KC_PGUP", "KC_NUM", "KC_PSLS", "KC_PAST", "KC_PMNS",
"KC_TAB", "KC_Q", "KC_W", "KC_E", "KC_R", "KC_T", "KC_Y", "_______", "_______", "KC_U", "KC_I", "KC_O", "KC_P", "KC_BSLS", "KC_DEL", "KC_END", "KC_PGDN", "KC_P7", "KC_P8", "KC_P9", "KC_PPLS",
"KC_CAPS", "KC_A", "KC_S", "KC_D", "KC_F", "KC_G", "KC_H", "_______", "_______", "KC_J", "KC_K", "KC_L", "KC_SCLN", "KC_ENT", "KC_P4", "KC_P5", "KC_P6", "_______",
"KC_LSFT", "KC_BSLS", "KC_Z", "KC_X", "KC_C", "KC_V", "KC_B", "_______", "_______", "KC_N", "KC_M", "KC_COMM", "KC_DOT", "KC_RSFT", "KC_UP", "KC_P1", "KC_P2", "KC_P3", "KC_PENT",
"KC_LCTL", "_______", "_______", "_______", "KC_LGUI", "KC_LALT", "KC_BSPC", "KC_SPC", "MO(1)", "KC_RALT", "KC_RGUI", "KC_RCTL", "KC_LEFT", "KC_DOWN", "KC_RGHT", "KC_P0", "_______", "KC_PDOT", "_______"
],
[
"QK_RBT", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______",

"QK_BOOT", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "AU_TOGG", "_______", "_______", "_______", "_______",
"_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "HF_TOGG", "_______", "_______", "_______", "_______",
"_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______",
"_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______",
"_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______"
]
]
}
45 changes: 45 additions & 0 deletions keyboards/dcpedit/modmmm/keymaps/via/keymap.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
{
"keyboard": "dcpedit/modelmmm",
"keymap": "default",
"author": "dcpedit",
"version": 1,
"layout": "LAYOUT_stag",
"config": {
"features": {
"via": true,
"encoder_map": true
}
},
"encoders": [
[
{ "ccw": "KC_VOLD", "cw": "KC_VOLU" },
{ "ccw": "KC_PGDN", "cw": "KC_PGUP" },
{ "ccw": "KC_DOWN", "cw": "KC_UP" }
],
[
{ "ccw": "_______", "cw": "_______" },
{ "ccw": "_______", "cw": "_______" },
{ "ccw": "_______", "cw": "_______" }
]
],
"layers": [
[
"KC_ESC", "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_PSCR", "KC_SCRL", "MO(1)",

"KC_GRV", "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_BSPC", "KC_INS", "KC_HOME", "KC_PGUP", "KC_NUM", "KC_PSLS", "KC_PAST", "KC_PMNS",
"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_BSLS", "KC_DEL", "KC_END", "KC_PGDN", "KC_P7", "KC_P8", "KC_P9", "KC_PPLS",
"KC_CAPS", "KC_A", "KC_S", "KC_D", "KC_F", "KC_G", "KC_H", "KC_J", "KC_K", "KC_L", "KC_SCLN", "KC_QUOT", "KC_ENT", "KC_P4", "KC_P5", "KC_P6", "_______",
"KC_LSFT", "KC_BSLS", "KC_Z", "KC_X", "KC_C", "KC_V", "KC_B", "KC_N", "KC_M", "KC_COMM", "KC_DOT", "KC_SLSH", "KC_BSLS", "KC_RSFT", "KC_UP", "KC_P1", "KC_P2", "KC_P3", "KC_PENT",
"KC_LCTL", "KC_LALT", "KC_BSPC", "KC_SPC", "MO(1)", "KC_RALT", "KC_RCTL", "KC_LEFT", "KC_DOWN", "KC_RGHT", "KC_P0", "_______", "KC_PDOT", "_______"
],
[
"QK_RBT", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______",

"QK_BOOT", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "AU_TOGG", "_______", "_______", "_______", "_______",
"_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "HF_TOGG", "_______", "_______", "_______", "_______",
"_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______",
"_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______",
"_______", "KC_LGUI", "_______", "_______", "_______", "KC_RGUI", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______"
]
]
}
45 changes: 45 additions & 0 deletions keyboards/dcpedit/modmmm/keymaps/via_ortho/keymap.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
{
"keyboard": "dcpedit/modelmmm",
"keymap": "default",
"author": "dcpedit",
"version": 1,
"config": {
"features": {
"via": true,
"encoder_map": true
}
},
"encoders": [
[
{ "ccw": "KC_VOLD", "cw": "KC_VOLU" },
{ "ccw": "KC_PGDN", "cw": "KC_PGUP" },
{ "ccw": "KC_DOWN", "cw": "KC_UP" }
],
[
{ "ccw": "_______", "cw": "_______" },
{ "ccw": "_______", "cw": "_______" },
{ "ccw": "_______", "cw": "_______" }
]
],
"layout": "LAYOUT_ortho",
"layers": [
[
"KC_ESC", "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_PSCR", "KC_SCRL", "MO(1)",

"KC_GRV", "KC_1", "KC_2", "KC_3", "KC_4", "KC_5", "KC_6", "_______", "_______", "KC_7", "KC_8", "KC_9", "KC_0", "KC_BSPC", "KC_INS", "KC_HOME", "KC_PGUP", "KC_NUM", "KC_PSLS", "KC_PAST", "KC_PMNS",
"KC_TAB", "KC_Q", "KC_W", "KC_E", "KC_R", "KC_T", "KC_Y", "_______", "_______", "KC_U", "KC_I", "KC_O", "KC_P", "KC_BSLS", "KC_DEL", "KC_END", "KC_PGDN", "KC_P7", "KC_P8", "KC_P9", "KC_PPLS",
"KC_CAPS", "KC_A", "KC_S", "KC_D", "KC_F", "KC_G", "KC_H", "_______", "_______", "KC_J", "KC_K", "KC_L", "KC_SCLN", "KC_ENT", "KC_P4", "KC_P5", "KC_P6", "_______",
"KC_LSFT", "KC_BSLS", "KC_Z", "KC_X", "KC_C", "KC_V", "KC_B", "_______", "_______", "KC_N", "KC_M", "KC_COMM", "KC_DOT", "KC_RSFT", "KC_UP", "KC_P1", "KC_P2", "KC_P3", "KC_PENT",
"KC_LCTL", "MO(1)", "_______", "_______", "KC_LGUI", "KC_LALT", "KC_BSPC", "KC_SPC", "MO(1)", "KC_RALT", "KC_RGUI", "KC_RCTL", "KC_LEFT", "KC_DOWN", "KC_RGHT", "KC_P0", "_______", "KC_PDOT", "_______"
],
[
"QK_RBT", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______",

"QK_BOOT", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "AU_TOGG", "_______", "_______", "_______", "_______",
"_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "HF_TOGG", "_______", "_______", "_______", "_______",
"_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______",
"_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______",
"_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______"
]
]
}
8 changes: 8 additions & 0 deletions keyboards/dcpedit/modmmm/mcuconf.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
// Copyright 2024 Ming-Gih Lam (@dcpedit)
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
#include_next <mcuconf.h>

// Used for audio
#undef STM32_PWM_USE_TIM1
#define STM32_PWM_USE_TIM1 TRUE
dcpedit marked this conversation as resolved.
Show resolved Hide resolved
27 changes: 27 additions & 0 deletions keyboards/dcpedit/modmmm/readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
# Mod Mmm

![Mod Mmm](https://i.imgur.com/oMP5RlJ.jpeg)

Replacement PCB for the IBM Model M keyboard.

* Keyboard Maintainer: [dcpedit](https://github.com/dcpedit)
* Hardware Supported: Pillbug/Blackpill STM32F411
* Hardware Availability: https://github.com/dcpedit/mod-mmm

Make example for this keyboard (after setting up your build environment):

make dcpedit/mod-mmm:default

Flashing example for this keyboard:

make dcpedit/mod-mmm:default:flash

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).

## Bootloader

Enter the bootloader in 3 ways:

* **Bootmagic reset**: Hold down the ESC key (top-left key) and plug in the keyboard
* **Physical reset button**: On the development board, while holding down the BOOT button, press and release the RESET button
* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
2 changes: 2 additions & 0 deletions keyboards/dcpedit/modmmm/rules.mk
dcpedit marked this conversation as resolved.
Show resolved Hide resolved
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
HAPTIC_DRIVER = solenoid
AUDIO_DRIVER = pwm_hardware
dcpedit marked this conversation as resolved.
Show resolved Hide resolved