diff --git a/keyboards/ibm/model_m/ctrl_m/config.h b/keyboards/ibm/model_m/ctrl_m/config.h
index 046122c0929..46dc2eaca82 100644
--- a/keyboards/ibm/model_m/ctrl_m/config.h
+++ b/keyboards/ibm/model_m/ctrl_m/config.h
@@ -19,7 +19,3 @@ along with this program. If not, see .
/* The Model M as a membrane based keyboard without diodes has ghost keys */
#define MATRIX_HAS_GHOST
-
-/* As we replace the caps lock key with the win key, enable by default the
- * Caps Word feature by double tapping the shift key */
-#define DOUBLE_TAP_SHIFT_TURNS_ON_CAPS_WORD
diff --git a/keyboards/ibm/model_m/ctrl_m/ctrl_m.c b/keyboards/ibm/model_m/ctrl_m/ctrl_m.c
index 54444269cdf..eb93f27ee87 100644
--- a/keyboards/ibm/model_m/ctrl_m/ctrl_m.c
+++ b/keyboards/ibm/model_m/ctrl_m/ctrl_m.c
@@ -14,22 +14,3 @@
* along with this program. If not, see .
*/
#include "ctrl_m.h"
-
-void keyboard_pre_init_kb(void) {
- /* Setting status LEDs pins to output and +5V (off) */
- setPinOutput(LED_NUM_LOCK_PIN);
- setPinOutput(LED_CAPS_LOCK_PIN);
- setPinOutput(LED_SCROLL_LOCK_PIN);
- writePinHigh(LED_NUM_LOCK_PIN);
- writePinHigh(LED_CAPS_LOCK_PIN);
- writePinHigh(LED_SCROLL_LOCK_PIN);
-}
-
-bool led_update_kb(led_t led_state) {
- if(led_update_user(led_state)) {
- writePin(LED_NUM_LOCK_PIN, !led_state.num_lock);
- writePin(LED_CAPS_LOCK_PIN, !led_state.caps_lock);
- writePin(LED_SCROLL_LOCK_PIN, !led_state.scroll_lock);
- }
- return true;
-}
diff --git a/keyboards/ibm/model_m/ctrl_m/info.json b/keyboards/ibm/model_m/ctrl_m/info.json
index df2d7b0bced..807d82f7005 100644
--- a/keyboards/ibm/model_m/ctrl_m/info.json
+++ b/keyboards/ibm/model_m/ctrl_m/info.json
@@ -19,7 +19,7 @@
"num_lock": "B10",
"caps_lock": "B12",
"scroll_lock": "B11",
- "on_state": 1
+ "on_state": 0
}
"bootmagic": {
"enabled": true,
diff --git a/keyboards/ibm/model_m/ctrl_m/keymaps/default/keymap.c b/keyboards/ibm/model_m/ctrl_m/keymaps/default/keymap.c
index eea8aa660a2..043a5827bcc 100644
--- a/keyboards/ibm/model_m/ctrl_m/keymaps/default/keymap.c
+++ b/keyboards/ibm/model_m/ctrl_m/keymaps/default/keymap.c
@@ -17,85 +17,16 @@
enum layers {
_BL0,
- _BL1,
- _FL,
- _MS
+
};
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_BL0] = LAYOUT_fullsize_iso_wkl( /* Base layer - Windows key instead of CapsLock, hold ESC for special functions */
- LT(_FL,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, KC_PAUS,
- 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_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_DEL , KC_END , KC_PGDN, KC_P7, KC_P8 , KC_P9 , KC_PPLS,
- KC_LWIN, KC_A, KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT , KC_P4, KC_P5 , KC_P6 ,
- KC_LSFT, KC_NUBS, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, KC_UP , KC_P1, KC_P2 , KC_P3 , KC_PENT,
- KC_LCTL, KC_LALT, KC_SPC , KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT
- ),
-
- [_BL1] = LAYOUT_fullsize_iso_wkl( /* Base layer - standard layout without any special functions */
+ [_BL0] = LAYOUT_fullsize_iso_wkl( /* Base layer - standard layout without any special functions */
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, KC_PAUS,
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_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_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_NUHS, KC_ENT , KC_P4, KC_P5 , KC_P6 ,
KC_LSFT, KC_NUBS, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, KC_UP , KC_P1, KC_P2 , KC_P3 , KC_PENT,
KC_LCTL, KC_LALT, KC_SPC , KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT
- ),
-
- [_FL] = LAYOUT_fullsize_iso_wkl( /* special functions layer */
- // F1: dyn. macro 1 play
- // F2: dyn. macro 2 play
- // F3: dyn. macro 1 record
- // F4: dyn. macro 2 record
- // F5: dyn. macro record stop
- // Capslock: CapsLock (really!)
- // ~: Key Lock
- // Cursor: Media Pref / Next / Volume Up / Volume Down
- // Space: Media Play / Pause
- // Page Up: Brightness Up
- // Page Down: Brightness Down
- // Num pad: Mouse wheel
- // m: Enter mouse layer
- _______, DM_PLY1, DM_PLY2, DM_REC1, DM_REC2, DM_RSTP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- QK_LOCK, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_BRIU, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_BRID, _______, KC_WH_U, _______, _______,
- KC_CAPS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_WH_L, _______, KC_WH_R,
- _______, _______, _______, _______, _______, _______, _______, _______, TG(_MS), _______, _______, _______, _______, KC_VOLU, _______, KC_WH_D, _______, _______,
- _______, _______, KC_MPLY, _______, _______, KC_MPRV, KC_VOLD, KC_MNXT, _______, _______
- ),
-
- [_MS] = LAYOUT_fullsize_iso_wkl( /* mouse key layer */
- // Cursor: mouse, INS/HOME/PgUp: Mouse Accel, Del, End, PageDn: mouse buttons, Num pad: mouse wheel
- TG(_MS), _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_ACL0, KC_ACL1, KC_ACL2, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_BTN1, KC_BTN3, KC_BTN2, _______, KC_WH_U, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_WH_L, _______, KC_WH_R,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MS_U, _______, KC_WH_D, _______, _______,
- _______, _______, _______, _______, _______, KC_MS_L, KC_MS_D, KC_MS_R, _______, _______
)
};
-
-void keyboard_post_init_user(void) {
- // Customise these values to desired behaviour
- //debug_enable=true;
- //debug_matrix=true;
- //debug_keyboard=true;
- //debug_mouse=true;
-}
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- // If console is enabled, it will print the matrix position and status of each key pressed
- dprintf("KL: kc: %u, col: %u, row: %u, pressed: %u\n", keycode, record->event.key.col, record->event.key.row, record->event.pressed);
- return true;
-}
-
-bool led_update_user(led_t led_state) {
- return true;
-}
-
-void caps_word_set_user(bool active) {
- if (active) {
- writePinLow(LED_CAPS_LOCK_PIN);
- } else {
- writePinHigh(LED_CAPS_LOCK_PIN);
- }
-}
diff --git a/keyboards/ibm/model_m/ctrl_m/keymaps/nuess0r/config.h b/keyboards/ibm/model_m/ctrl_m/keymaps/nuess0r/config.h
new file mode 100644
index 00000000000..8d39c30559d
--- /dev/null
+++ b/keyboards/ibm/model_m/ctrl_m/keymaps/nuess0r/config.h
@@ -0,0 +1,22 @@
+/*
+Copyright 2022 nuess0r
+
+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 .
+*/
+
+#pragma once
+
+/* As we replace the caps lock key with the win key, enable by default the
+ * Caps Word feature by double tapping the shift key */
+#define DOUBLE_TAP_SHIFT_TURNS_ON_CAPS_WORD
diff --git a/keyboards/ibm/model_m/ctrl_m/keymaps/nuess0r/keymap.c b/keyboards/ibm/model_m/ctrl_m/keymaps/nuess0r/keymap.c
new file mode 100644
index 00000000000..eea8aa660a2
--- /dev/null
+++ b/keyboards/ibm/model_m/ctrl_m/keymaps/nuess0r/keymap.c
@@ -0,0 +1,101 @@
+/* Copyright 2020 Michael Schwingen
+ *
+ * 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 .
+ */
+#include QMK_KEYBOARD_H
+
+enum layers {
+ _BL0,
+ _BL1,
+ _FL,
+ _MS
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [_BL0] = LAYOUT_fullsize_iso_wkl( /* Base layer - Windows key instead of CapsLock, hold ESC for special functions */
+ LT(_FL,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, KC_PAUS,
+ 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_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_DEL , KC_END , KC_PGDN, KC_P7, KC_P8 , KC_P9 , KC_PPLS,
+ KC_LWIN, KC_A, KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT , KC_P4, KC_P5 , KC_P6 ,
+ KC_LSFT, KC_NUBS, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, KC_UP , KC_P1, KC_P2 , KC_P3 , KC_PENT,
+ KC_LCTL, KC_LALT, KC_SPC , KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT
+ ),
+
+ [_BL1] = LAYOUT_fullsize_iso_wkl( /* Base layer - standard layout without any special functions */
+ 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, KC_PAUS,
+ 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_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_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_NUHS, KC_ENT , KC_P4, KC_P5 , KC_P6 ,
+ KC_LSFT, KC_NUBS, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, KC_UP , KC_P1, KC_P2 , KC_P3 , KC_PENT,
+ KC_LCTL, KC_LALT, KC_SPC , KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT
+ ),
+
+ [_FL] = LAYOUT_fullsize_iso_wkl( /* special functions layer */
+ // F1: dyn. macro 1 play
+ // F2: dyn. macro 2 play
+ // F3: dyn. macro 1 record
+ // F4: dyn. macro 2 record
+ // F5: dyn. macro record stop
+ // Capslock: CapsLock (really!)
+ // ~: Key Lock
+ // Cursor: Media Pref / Next / Volume Up / Volume Down
+ // Space: Media Play / Pause
+ // Page Up: Brightness Up
+ // Page Down: Brightness Down
+ // Num pad: Mouse wheel
+ // m: Enter mouse layer
+ _______, DM_PLY1, DM_PLY2, DM_REC1, DM_REC2, DM_RSTP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ QK_LOCK, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_BRIU, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_BRID, _______, KC_WH_U, _______, _______,
+ KC_CAPS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_WH_L, _______, KC_WH_R,
+ _______, _______, _______, _______, _______, _______, _______, _______, TG(_MS), _______, _______, _______, _______, KC_VOLU, _______, KC_WH_D, _______, _______,
+ _______, _______, KC_MPLY, _______, _______, KC_MPRV, KC_VOLD, KC_MNXT, _______, _______
+ ),
+
+ [_MS] = LAYOUT_fullsize_iso_wkl( /* mouse key layer */
+ // Cursor: mouse, INS/HOME/PgUp: Mouse Accel, Del, End, PageDn: mouse buttons, Num pad: mouse wheel
+ TG(_MS), _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_ACL0, KC_ACL1, KC_ACL2, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_BTN1, KC_BTN3, KC_BTN2, _______, KC_WH_U, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_WH_L, _______, KC_WH_R,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MS_U, _______, KC_WH_D, _______, _______,
+ _______, _______, _______, _______, _______, KC_MS_L, KC_MS_D, KC_MS_R, _______, _______
+ )
+};
+
+void keyboard_post_init_user(void) {
+ // Customise these values to desired behaviour
+ //debug_enable=true;
+ //debug_matrix=true;
+ //debug_keyboard=true;
+ //debug_mouse=true;
+}
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ // If console is enabled, it will print the matrix position and status of each key pressed
+ dprintf("KL: kc: %u, col: %u, row: %u, pressed: %u\n", keycode, record->event.key.col, record->event.key.row, record->event.pressed);
+ return true;
+}
+
+bool led_update_user(led_t led_state) {
+ return true;
+}
+
+void caps_word_set_user(bool active) {
+ if (active) {
+ writePinLow(LED_CAPS_LOCK_PIN);
+ } else {
+ writePinHigh(LED_CAPS_LOCK_PIN);
+ }
+}
diff --git a/keyboards/ibm/model_m/ctrl_m/keymaps/nuess0r/rules.mk b/keyboards/ibm/model_m/ctrl_m/keymaps/nuess0r/rules.mk
new file mode 100644
index 00000000000..1e5b99807cb
--- /dev/null
+++ b/keyboards/ibm/model_m/ctrl_m/keymaps/nuess0r/rules.mk
@@ -0,0 +1 @@
+VIA_ENABLE = yes
diff --git a/keyboards/ibm/model_m/ctrl_m/keymaps/via/keymap.c b/keyboards/ibm/model_m/ctrl_m/keymaps/via/keymap.c
index eea8aa660a2..043a5827bcc 100644
--- a/keyboards/ibm/model_m/ctrl_m/keymaps/via/keymap.c
+++ b/keyboards/ibm/model_m/ctrl_m/keymaps/via/keymap.c
@@ -17,85 +17,16 @@
enum layers {
_BL0,
- _BL1,
- _FL,
- _MS
+
};
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_BL0] = LAYOUT_fullsize_iso_wkl( /* Base layer - Windows key instead of CapsLock, hold ESC for special functions */
- LT(_FL,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, KC_PAUS,
- 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_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_DEL , KC_END , KC_PGDN, KC_P7, KC_P8 , KC_P9 , KC_PPLS,
- KC_LWIN, KC_A, KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT , KC_P4, KC_P5 , KC_P6 ,
- KC_LSFT, KC_NUBS, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, KC_UP , KC_P1, KC_P2 , KC_P3 , KC_PENT,
- KC_LCTL, KC_LALT, KC_SPC , KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT
- ),
-
- [_BL1] = LAYOUT_fullsize_iso_wkl( /* Base layer - standard layout without any special functions */
+ [_BL0] = LAYOUT_fullsize_iso_wkl( /* Base layer - standard layout without any special functions */
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, KC_PAUS,
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_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_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_NUHS, KC_ENT , KC_P4, KC_P5 , KC_P6 ,
KC_LSFT, KC_NUBS, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, KC_UP , KC_P1, KC_P2 , KC_P3 , KC_PENT,
KC_LCTL, KC_LALT, KC_SPC , KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT
- ),
-
- [_FL] = LAYOUT_fullsize_iso_wkl( /* special functions layer */
- // F1: dyn. macro 1 play
- // F2: dyn. macro 2 play
- // F3: dyn. macro 1 record
- // F4: dyn. macro 2 record
- // F5: dyn. macro record stop
- // Capslock: CapsLock (really!)
- // ~: Key Lock
- // Cursor: Media Pref / Next / Volume Up / Volume Down
- // Space: Media Play / Pause
- // Page Up: Brightness Up
- // Page Down: Brightness Down
- // Num pad: Mouse wheel
- // m: Enter mouse layer
- _______, DM_PLY1, DM_PLY2, DM_REC1, DM_REC2, DM_RSTP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- QK_LOCK, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_BRIU, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_BRID, _______, KC_WH_U, _______, _______,
- KC_CAPS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_WH_L, _______, KC_WH_R,
- _______, _______, _______, _______, _______, _______, _______, _______, TG(_MS), _______, _______, _______, _______, KC_VOLU, _______, KC_WH_D, _______, _______,
- _______, _______, KC_MPLY, _______, _______, KC_MPRV, KC_VOLD, KC_MNXT, _______, _______
- ),
-
- [_MS] = LAYOUT_fullsize_iso_wkl( /* mouse key layer */
- // Cursor: mouse, INS/HOME/PgUp: Mouse Accel, Del, End, PageDn: mouse buttons, Num pad: mouse wheel
- TG(_MS), _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_ACL0, KC_ACL1, KC_ACL2, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_BTN1, KC_BTN3, KC_BTN2, _______, KC_WH_U, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_WH_L, _______, KC_WH_R,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MS_U, _______, KC_WH_D, _______, _______,
- _______, _______, _______, _______, _______, KC_MS_L, KC_MS_D, KC_MS_R, _______, _______
)
};
-
-void keyboard_post_init_user(void) {
- // Customise these values to desired behaviour
- //debug_enable=true;
- //debug_matrix=true;
- //debug_keyboard=true;
- //debug_mouse=true;
-}
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- // If console is enabled, it will print the matrix position and status of each key pressed
- dprintf("KL: kc: %u, col: %u, row: %u, pressed: %u\n", keycode, record->event.key.col, record->event.key.row, record->event.pressed);
- return true;
-}
-
-bool led_update_user(led_t led_state) {
- return true;
-}
-
-void caps_word_set_user(bool active) {
- if (active) {
- writePinLow(LED_CAPS_LOCK_PIN);
- } else {
- writePinHigh(LED_CAPS_LOCK_PIN);
- }
-}
diff --git a/keyboards/ibm/model_m/ctrl_m/readme.md b/keyboards/ibm/model_m/ctrl_m/readme.md
index a1846abc45c..f5878e1e5c7 100644
--- a/keyboards/ibm/model_m/ctrl_m/readme.md
+++ b/keyboards/ibm/model_m/ctrl_m/readme.md
@@ -11,8 +11,20 @@ Example how to compile for this keyboard (after setting up your build environmen
make ibm/model_m/ctrl_m:default
+Flashing example for this keyboard:
+
+ make %KEYBOARD%:default:flash
+
Or if you use the QMK tool:
qmk compile -kb ibm/model_m/ctrl_m -km default
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 Escape key and plug in the keyboard
+* **Physical reset button**: Briefly press the button on the back of the PCB and plug in the keyboard
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available