added override sync option to the keymap layout

This commit is contained in:
Jack 2020-11-06 20:28:33 +00:00
parent 396700dcf8
commit e2f41c6f42
3 changed files with 41 additions and 11 deletions

View file

@ -1665,15 +1665,22 @@ let commandsKeymapLayouts = {
if (Object.keys(layouts).length > 0) {
commandsKeymapLayouts.list = [];
commandsKeymapLayouts.list.push({
id: "changeKeymapLayoutOverrideSync",
display: "override sync",
exec: () => {
changeKeymapLayout("overrideSync");
restartTest();
},
});
Object.keys(layouts).forEach((layout) => {
if (layout.toString() != "default") {
commandsKeymapLayouts.list.push({
id: "changeKeymapLayout" + capitalizeFirstLetter(layout),
display: layout.replace("_", " "),
display: layout.replace(/_/g, " "),
exec: () => {
changeKeymapLayout(layout);
restartTest();
saveConfigToCookie();
},
});
}

View file

@ -269,7 +269,7 @@ async function fillSettingsPage() {
languages.forEach((language) => {
langEl.append(
`<div class="language button" language='${language}'>${language.replace(
"_",
/_/g,
" "
)}</div>`
);
@ -280,18 +280,21 @@ async function fillSettingsPage() {
Object.keys(layouts).forEach((layout) => {
layoutEl.append(
`<div class="layout button" layout='${layout}'>${layout.replace(
"_",
/_/g,
" "
)}</div>`
);
});
let keymapEl = $(".pageSettings .section.keymapLayout .buttons").empty();
keymapEl.append(
`<div class="layout button" keymapLayout='overrideSync'>override sync</div>`
);
Object.keys(layouts).forEach((layout) => {
if (layout.toString() != "default") {
keymapEl.append(
`<div class="layout button" keymapLayout='${layout}'>${layout.replace(
"_",
/_/g,
" "
)}</div>`
);

View file

@ -1272,6 +1272,9 @@ function changeLayout(layout, nosave) {
}
config.layout = layout;
updateTestModesNotice();
if (config.keymapLayout === "overrideSync") {
refreshKeymapKeys(config.keymapLayout);
}
if (!nosave) saveConfigToCookie();
}
@ -1376,22 +1379,40 @@ function changeKeymapLayout(layout, nosave) {
layout = "qwerty";
}
config.keymapLayout = layout;
refreshKeymapKeys(layout);
if (!nosave) saveConfigToCookie();
// layouts[layout].forEach((x) => {
// console.log(x);
// });
// console.log(all.join());
}
function refreshKeymapKeys(layout) {
try {
if (layouts[layout].keymapShowTopRow) {
let lts = layouts[layout]; //layout to show
let layoutString = layout;
if (config.keymapLayout === "overrideSync") {
if (config.layout === "default") {
lts = layouts["qwerty"];
layoutString = "default";
} else {
lts = layouts[config.layout];
layoutString = config.layout;
}
}
if (lts.keymapShowTopRow) {
$(".keymap .r1").removeClass("hidden");
} else {
$(".keymap .r1").addClass("hidden");
}
$($(".keymap .r5 .keymap-key .letter")[0]).text(layout.replace(/_/g, " "));
$($(".keymap .r5 .keymap-key .letter")[0]).text(
layoutString.replace(/_/g, " ")
);
keymapShowIsoKey(lts.iso);
keymapShowIsoKey(layouts[layout].iso);
var toReplace = layouts[layout].keys.slice(1, 48);
var toReplace = lts.keys.slice(1, 48);
// var _ = toReplace.splice(12, 1);
var count = 0;
@ -1456,7 +1477,6 @@ function changeKeymapLayout(layout, nosave) {
);
changeKeymapLayout("qwerty", true);
}
// console.log(all.join());
}
function changeFontSize(fontSize, nosave) {