mirror of
https://github.com/monkeytypegame/monkeytype.git
synced 2025-10-08 22:50:00 +08:00
impr(keymap): add param which allows the rightmost column to be visible on matrix layouts
This is helpful when layouts use the rightmost column for something other than modifiers (for example swedish) Closes #4623
This commit is contained in:
parent
f962896d6c
commit
24c90e9d12
4 changed files with 23 additions and 132 deletions
|
@ -113,28 +113,13 @@
|
|||
&.matrix {
|
||||
.r1,
|
||||
.r2,
|
||||
.r3 {
|
||||
grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
|
||||
}
|
||||
|
||||
.r3,
|
||||
.r4 {
|
||||
grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
|
||||
grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
|
||||
}
|
||||
|
||||
.r5 {
|
||||
grid-template-columns: 3fr 4fr 3fr;
|
||||
}
|
||||
|
||||
.r1,
|
||||
.r2,
|
||||
.r3 {
|
||||
:nth-child(13) {
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
:nth-child(14) {
|
||||
opacity: 0;
|
||||
}
|
||||
grid-template-columns: 1fr 3fr 4fr 3fr 1fr;
|
||||
}
|
||||
}
|
||||
&.split {
|
||||
|
@ -187,38 +172,17 @@
|
|||
}
|
||||
.r1,
|
||||
.r2,
|
||||
.r3 {
|
||||
grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
|
||||
}
|
||||
|
||||
.r3,
|
||||
.r4 {
|
||||
grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
|
||||
grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
|
||||
}
|
||||
|
||||
.r5 {
|
||||
grid-template-columns: 2fr 3fr 1fr 3fr 2fr;
|
||||
grid-template-columns: 1fr 2fr 3fr 1fr 3fr 2fr 1fr;
|
||||
}
|
||||
.keySplitSpace {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
.r1 {
|
||||
:nth-child(12) {
|
||||
opacity: 0;
|
||||
}
|
||||
}
|
||||
|
||||
.r1,
|
||||
.r2,
|
||||
.r3 {
|
||||
:nth-child(13) {
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
:nth-child(14) {
|
||||
opacity: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
&.steno,
|
||||
&.steno_matrix {
|
||||
|
@ -473,87 +437,6 @@
|
|||
opacity: 1;
|
||||
}
|
||||
|
||||
// div#KeyE.keymapKey,
|
||||
// div#KeyD.keymapKey {
|
||||
// margin-top: 6px;
|
||||
// }
|
||||
// div#KeyC.keymapKey {
|
||||
// margin-top: 8px;
|
||||
// }
|
||||
// div#KeyR.keymapKey,
|
||||
// div#KeyF.keymapKey {
|
||||
// margin-top: 12px;
|
||||
// }
|
||||
// div#KeyV.keymapKey {
|
||||
// margin-top: 14px;
|
||||
// }
|
||||
// div#KeyT.keymapKey,
|
||||
// div#KeyG.keymapKey {
|
||||
// margin-top: 18px;
|
||||
// }
|
||||
// div#KeyB.keymapKey {
|
||||
// margin-top: 20px;
|
||||
// }
|
||||
// div#KeyY.keymapKey,
|
||||
// div#KeyU.keymapKey,
|
||||
// div#KeyI.keymapKey,
|
||||
// div#KeyO.keymapKey {
|
||||
// transform: rotate(-10deg);
|
||||
// margin-left: -25%;
|
||||
// }
|
||||
// div#KeyH.keymapKey,
|
||||
// div#KeyJ.keymapKey,
|
||||
// div#KeyK.keymapKey,
|
||||
// div#KeyL.keymapKey {
|
||||
// transform: rotate(-10deg);
|
||||
// margin-left: -35%;
|
||||
// }
|
||||
// div#KeyN.keymapKey,
|
||||
// div#KeyM.keymapKey,
|
||||
// div#KeyComma.keymapKey {
|
||||
// transform: rotate(-10deg);
|
||||
// margin-left: -16%;
|
||||
// }
|
||||
// div#KeyP.keymapKey,
|
||||
// div#KeyLeftBracket.keymapKey,
|
||||
// div#KeyRightBracket.keymapKey {
|
||||
// margin-left: 5%;
|
||||
// }
|
||||
// div#KeySemicolon.keymapKey,
|
||||
// div#KeyQuote.keymapKey {
|
||||
// margin-left: -25%;
|
||||
// }
|
||||
// div#KeyPeriod.keymapKey,
|
||||
// div#KeySlash.keymapKey {
|
||||
// margin-left: -3px;
|
||||
// }
|
||||
// div#KeyO.keymapKey,
|
||||
// div#KeyComma.keymapKey {
|
||||
// margin-top: 3px;
|
||||
// }
|
||||
// div#KeyL.keymapKey {
|
||||
// margin-top: 1px;
|
||||
// }
|
||||
// div#KeyI.keymapKey,
|
||||
// div#KeyM.keymapKey {
|
||||
// margin-top: 9px;
|
||||
// }
|
||||
// div#KeyK.keymapKey {
|
||||
// margin-top: 7px;
|
||||
// }
|
||||
// div#KeyU.keymapKey,
|
||||
// div#KeyN.keymapKey {
|
||||
// margin-top: 15px;
|
||||
// }
|
||||
// div#KeyJ.keymapKey {
|
||||
// margin-top: 13px;
|
||||
// }
|
||||
// div#KeyY.keymapKey {
|
||||
// margin-top: 21px;
|
||||
// }
|
||||
// div#KeyH.keymapKey {
|
||||
// margin-top: 19px;
|
||||
// }
|
||||
div.keySpace {
|
||||
transform: rotate(10deg);
|
||||
margin-left: -5%;
|
||||
|
@ -585,13 +468,5 @@
|
|||
height: 2rem;
|
||||
position: relative;
|
||||
}
|
||||
// div#KeySpace.keymapKey:after {
|
||||
// content: 'Alice';
|
||||
// text-indent: 0;
|
||||
// font-weight: 600!important;
|
||||
// margin: auto;
|
||||
// font-size: 0.9rem;
|
||||
// color: var(--bg-color)
|
||||
// }
|
||||
}
|
||||
}
|
||||
|
|
|
@ -183,6 +183,14 @@ export async function refresh(
|
|||
rowElement += "<div></div>";
|
||||
}
|
||||
|
||||
if (isMatrix) {
|
||||
if (row !== "row5") {
|
||||
rowElement += `<div class="keymapKey"></div>`;
|
||||
} else {
|
||||
rowElement += `<div></div>`;
|
||||
}
|
||||
}
|
||||
|
||||
if (row === "row5") {
|
||||
if (isSteno) return;
|
||||
const layoutDisplay = layoutString.replace(/_/g, " ");
|
||||
|
@ -201,10 +209,16 @@ export async function refresh(
|
|||
} else {
|
||||
for (let i = 0; i < rowKeys.length; i++) {
|
||||
if (row === "row2" && i === 12) continue;
|
||||
|
||||
let colLimit = 10;
|
||||
if (lts.matrixShowRightColumn) {
|
||||
colLimit = 11;
|
||||
}
|
||||
|
||||
if (
|
||||
(Config.keymapStyle === "matrix" ||
|
||||
Config.keymapStyle === "split_matrix") &&
|
||||
i >= 10
|
||||
i >= colLimit
|
||||
) {
|
||||
continue;
|
||||
}
|
||||
|
|
1
frontend/src/ts/types/types.d.ts
vendored
1
frontend/src/ts/types/types.d.ts
vendored
|
@ -818,6 +818,7 @@ declare namespace MonkeyTypes {
|
|||
|
||||
interface Layout {
|
||||
keymapShowTopRow: boolean;
|
||||
matrixShowRightColumn?: boolean;
|
||||
type: "iso" | "ansi" | "ortho" | "matrix";
|
||||
keys: Keys;
|
||||
}
|
||||
|
|
|
@ -1574,6 +1574,7 @@
|
|||
},
|
||||
"swedish_qwerty": {
|
||||
"keymapShowTopRow": false,
|
||||
"matrixShowRightColumn": true,
|
||||
"type": "iso",
|
||||
"keys": {
|
||||
"row1": ["§½", "1!", "2\"", "3#", "4¤", "5%", "6&", "7/", "8(", "9)", "0=", "+?", "´`"],
|
||||
|
|
Loading…
Add table
Reference in a new issue