summaryrefslogtreecommitdiffstats
path: root/keyboards/ibm/model_m/yugo_m
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/ibm/model_m/yugo_m')
-rw-r--r--keyboards/ibm/model_m/yugo_m/keymaps/an_achronism_106/keymap.c53
-rw-r--r--keyboards/ibm/model_m/yugo_m/keymaps/an_achronism_106/readme.md3
-rw-r--r--keyboards/ibm/model_m/yugo_m/keymaps/via/keymap.c69
-rw-r--r--keyboards/ibm/model_m/yugo_m/keymaps/via/rules.mk1
-rw-r--r--keyboards/ibm/model_m/yugo_m/matrix_diagram.md27
5 files changed, 153 insertions, 0 deletions
diff --git a/keyboards/ibm/model_m/yugo_m/keymaps/an_achronism_106/keymap.c b/keyboards/ibm/model_m/yugo_m/keymaps/an_achronism_106/keymap.c
new file mode 100644
index 0000000000..a92c877814
--- /dev/null
+++ b/keyboards/ibm/model_m/yugo_m/keymaps/an_achronism_106/keymap.c
@@ -0,0 +1,53 @@
+/* Copyright 2022 an_achronism <87213873+an-achronism@users.noreply.github.com>
+ *
+ * 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 keyboard_layers {
+ _BL, // Base Layer
+ _FN // Function Layer
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ /* Layer 0: Default Layer
+ * ,-------------------------------------------------------------------------------------------------.
+ * |Esc| |F1 |F2 |F3 |F4 | |F5 |F6 |F7 |F8 | |F9 |F10|F11|F12| |PSc|ScL|Cap| |
+ * | |
+ * |` |1 |2 |3 |4 |5 |6 |7 |8 |9 |0 |- |= |BSp|Pse| |Ins|Hom|PgU| |Num|/ |* |= |
+ * |-----------------------------------------------------------| |-----------| |---------------|
+ * |Tab |Q |W |E |R |T |Y |U |I |O |P |[ |] |RCtrl| |Del|End|PgD| |7 |8 |9 |- |
+ * |-----------------------------------------------------------| |---------------|
+ * |LCtrl |A |S |D |F |G |H |J |K |L |; |' |# |Rtn | |4 |5 |6 |+ |
+ * |-----------------------------------------------------------| |---------------|
+ * |LShift|\ |Z |X |C |V |B |N |M |, |. |/ |RShift | |Up | |1 |2 |3 |Ent|
+ * |-----------------------------------------------------------| |---| |-----------| |
+ * |Esc/LAlt| |LGUI | Space |BS/Fn| |RAlt | |Lt |Dn |Rt | |0 |Fn | .| |
+ * `-------------------------------------------------------------------------------------------------'
+ */
+ [_BL] = LAYOUT_all(
+ 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_CAPS,
+ 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_PAUS, KC_INS, KC_HOME, KC_PGUP, KC_NUM, KC_PSLS, KC_PAST, KC_PEQL,
+ 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_RCTL, KC_DEL, KC_END, KC_PGDN, KC_P7, KC_P8, KC_P9, KC_PMNS,
+ 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_NUHS, KC_ENT, KC_P4, KC_P5, KC_P6, KC_PPLS,
+ 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_INT1, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT,
+ LALT_T(KC_ESC), KC_LGUI, KC_SPC, LT(_FN, KC_BSPC), KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, MO(_FN), KC_PDOT, KC_NO),
+ [_FN] = LAYOUT_all(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, KC_MSTP, C(KC_BRK), _______, _______, _______, KC_F10, KC_F11, KC_F12, KC_PWR,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_MPRV, KC_MNXT, KC_APP, _______, _______, _______, KC_F7, KC_F8, KC_F9, KC_SLEP,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPLY, KC_F4, KC_F5, KC_F6, KC_CALC,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_F1, KC_F2, KC_F3, KC_EJCT,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
+};
diff --git a/keyboards/ibm/model_m/yugo_m/keymaps/an_achronism_106/readme.md b/keyboards/ibm/model_m/yugo_m/keymaps/an_achronism_106/readme.md
new file mode 100644
index 0000000000..6d3a7ff5d9
--- /dev/null
+++ b/keyboards/ibm/model_m/yugo_m/keymaps/an_achronism_106/readme.md
@@ -0,0 +1,3 @@
+# an_achronism's custom 106-key layout (107-key if you stick the appropriate keys on RShift and JIS backslash, which are already mapped for convenience).
+
+# With the exception of a single extra matrix position between LAlt and Space which only appears on certain later membranes and is almost never actually used, the only unmapped key is the bottom right corner of the numpad (the unused lower half of the vertical 2u key most commonly used as either Enter or Field +). If you like, you can easily add that into the keymap by changing the appropriate KC_NO to whatever you want.
diff --git a/keyboards/ibm/model_m/yugo_m/keymaps/via/keymap.c b/keyboards/ibm/model_m/yugo_m/keymaps/via/keymap.c
new file mode 100644
index 0000000000..b245c4f7f4
--- /dev/null
+++ b/keyboards/ibm/model_m/yugo_m/keymaps/via/keymap.c
@@ -0,0 +1,69 @@
+/* Copyright 2022 an_achronism <87213873+an-achronism@users.noreply.github.com>
+ *
+ * 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 keyboard_layers {
+ _L0, // Base Layer
+ _L1,
+ _L2,
+ _L3,
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ /* Layer 0: Default Layer
+ * ,-------------------------------------------------------------------------------------------------.
+ * |Esc| |F1 |F2 |F3 |F4 | |F5 |F6 |F7 |F8 | |F9 |F10|F11|F12| |PSc|ScL|Pse| |
+ * | |
+ * |` |1 |2 |3 |4 |5 |6 |7 |8 |9 |0 |- |= |¥ |BSp| |Ins|Hom|PgU| |Num|/ |* |- |
+ * |-----------------------------------------------------------| |-----------| |---------------|
+ * |Tab |Q |W |E |R |T |Y |U |I |O |P |[ |] |\ | |Del|End|PgD| |7 |8 |9 |+ |
+ * |-----------------------------------------------------------| |---------------|
+ * |CapsLk|A |S |D |F |G |H |J |K |L |; |' |# |Ent | |4 |5 |6 |= |
+ * |-----------------------------------------------------------| |---------------|
+ * |Shift|\ |Z |X |C |V |B |N |M |, |. |/ |\ |Shift| |Up | |1 |2 |3 |Ent|
+ * |-----------------------------------------------------------| |---| |---------------|
+ * |Ctrl | |Alt | Space |Alt Gr| |Ctrl | |Lt |Dn |Rt | |0 |, |. |GUI|
+ * `-------------------------------------------------------------------------------------------------'
+ */
+ [_L0] = LAYOUT_all(
+ 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_INT3, 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_NUHS, KC_ENT, KC_P4, KC_P5, KC_P6, KC_PEQL,
+ 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_INT1, 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_INT6, KC_PDOT, KC_LGUI),
+ [_L1] = LAYOUT_all(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
+ [_L2] = LAYOUT_all(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
+ [_L3] = LAYOUT_all(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
+};
diff --git a/keyboards/ibm/model_m/yugo_m/keymaps/via/rules.mk b/keyboards/ibm/model_m/yugo_m/keymaps/via/rules.mk
new file mode 100644
index 0000000000..1e5b99807c
--- /dev/null
+++ b/keyboards/ibm/model_m/yugo_m/keymaps/via/rules.mk
@@ -0,0 +1 @@
+VIA_ENABLE = yes
diff --git a/keyboards/ibm/model_m/yugo_m/matrix_diagram.md b/keyboards/ibm/model_m/yugo_m/matrix_diagram.md
new file mode 100644
index 0000000000..d98bec10a2
--- /dev/null
+++ b/keyboards/ibm/model_m/yugo_m/matrix_diagram.md
@@ -0,0 +1,27 @@
+# Matrix Diagram for Yugo-M (Model M replacment controller)
+
+```
+┌───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┐
+│02 │ │23 │24 │14 │04 │ │06 │08 │19 │29 │ │26 │36 │3B │3C │ │3F │4F │6E │
+└───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┘
+┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ ┌───┬───┬───┐ ┌───┬───┬───┬───┐
+│22 │32 │33 │34 │35 │25 │27 │37 │38 │39 │3A │2A │28 │46 │16 │ │2C │2E │2D │ │6B │6C │6D │7D │
+├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤ ├───┼───┼───┤ ├───┼───┼───┼───┤ ┌───┐
+│12 │42 │43 │44 │45 │15 │17 │47 │48 │49 │4A │1A │18 │56 │ │2B │3E │3D │ │4B │4C │4D │4E │ │ │
+├────┬┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ └───┴───┴───┘ ├───┼───┼───┼───┤ │4E │ 2u Numpad Plus
+│13 ┊ │52 │53 │54 │55 │05 │07 │57 │58 │59 │5A │0A │66 │ │1B │1C │1D │1E │ │ │
+├────┼─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬──────┤ ┌───┐ ├───┼───┼───┼───┤ ├───┤
+│11 │03 │62 │63 │64 │65 │75 │77 │67 │68 │69 │7A │78 │61 │ │0E │ │5B │5C │5D │5E │ │ │
+├────┴┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴───┴┬──┴┬─────┤ ┌───┼───┼───┐ ├───┼───┼───┼───┤ │5E │ 2u Numpad Enter
+│20 │ │0F │76 │7F │ │60 │ │7E │7B │7C │ │0B │0C │0D │5F │ │ │
+└─────┘ └─────┴───────────────────────────┴─────┘ └─────┘ └───┴───┴───┘ └───┴───┴───┴───┘ └───┘
+ ┌───────┐
+ 2u Backspace │16 │
+ └─┬─────┤
+ │ │
+ ISO Enter ┌──┴┐66 │
+ │6A │ │
+┌────────┐ ┌─┴───┴────┤ ┌───────┐
+│11 │ 2.25u LShift 2.75u RShift │61 │ │0B │ 2u Numpad Zero
+└────────┘ └──────────┘ └───────┘
+```