mirror of
https://github.com/qmk/qmk_firmware.git
synced 2025-07-20 14:42:03 +00:00
Clean up according to PR checklist
Check the keymaps/nuess0r how you can make better use of your Model M including Windows, multimedia keys etc.
This commit is contained in:
parent
90edeac4b4
commit
0ca918fbb4
@ -19,7 +19,3 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||||||
|
|
||||||
/* The Model M as a membrane based keyboard without diodes has ghost keys */
|
/* The Model M as a membrane based keyboard without diodes has ghost keys */
|
||||||
#define MATRIX_HAS_GHOST
|
#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
|
|
||||||
|
@ -14,22 +14,3 @@
|
|||||||
* along with this program. If not, see <http://www./gnu.org/licenses/>.
|
* along with this program. If not, see <http://www./gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
#include "ctrl_m.h"
|
#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;
|
|
||||||
}
|
|
||||||
|
@ -19,7 +19,7 @@
|
|||||||
"num_lock": "B10",
|
"num_lock": "B10",
|
||||||
"caps_lock": "B12",
|
"caps_lock": "B12",
|
||||||
"scroll_lock": "B11",
|
"scroll_lock": "B11",
|
||||||
"on_state": 1
|
"on_state": 0
|
||||||
}
|
}
|
||||||
"bootmagic": {
|
"bootmagic": {
|
||||||
"enabled": true,
|
"enabled": true,
|
||||||
|
@ -17,85 +17,16 @@
|
|||||||
|
|
||||||
enum layers {
|
enum layers {
|
||||||
_BL0,
|
_BL0,
|
||||||
_BL1,
|
|
||||||
_FL,
|
|
||||||
_MS
|
|
||||||
};
|
};
|
||||||
|
|
||||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
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 */
|
[_BL0] = LAYOUT_fullsize_iso_wkl( /* Base layer - standard layout without any 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_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_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_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_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_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
|
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);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
22
keyboards/ibm/model_m/ctrl_m/keymaps/nuess0r/config.h
Normal file
22
keyboards/ibm/model_m/ctrl_m/keymaps/nuess0r/config.h
Normal file
@ -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 <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#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
|
101
keyboards/ibm/model_m/ctrl_m/keymaps/nuess0r/keymap.c
Normal file
101
keyboards/ibm/model_m/ctrl_m/keymaps/nuess0r/keymap.c
Normal file
@ -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 <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
#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);
|
||||||
|
}
|
||||||
|
}
|
1
keyboards/ibm/model_m/ctrl_m/keymaps/nuess0r/rules.mk
Normal file
1
keyboards/ibm/model_m/ctrl_m/keymaps/nuess0r/rules.mk
Normal file
@ -0,0 +1 @@
|
|||||||
|
VIA_ENABLE = yes
|
@ -17,85 +17,16 @@
|
|||||||
|
|
||||||
enum layers {
|
enum layers {
|
||||||
_BL0,
|
_BL0,
|
||||||
_BL1,
|
|
||||||
_FL,
|
|
||||||
_MS
|
|
||||||
};
|
};
|
||||||
|
|
||||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
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 */
|
[_BL0] = LAYOUT_fullsize_iso_wkl( /* Base layer - standard layout without any 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_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_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_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_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_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
|
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);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
@ -11,8 +11,20 @@ Example how to compile for this keyboard (after setting up your build environmen
|
|||||||
|
|
||||||
make ibm/model_m/ctrl_m:default
|
make ibm/model_m/ctrl_m:default
|
||||||
|
|
||||||
|
Flashing example for this keyboard:
|
||||||
|
|
||||||
|
make %KEYBOARD%:default:flash
|
||||||
|
|
||||||
Or if you use the QMK tool:
|
Or if you use the QMK tool:
|
||||||
|
|
||||||
qmk compile -kb ibm/model_m/ctrl_m -km default
|
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).
|
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
|
||||||
|
Loading…
Reference in New Issue
Block a user