diff --git a/keyboards/ergohaven/hpd/keymaps/ergohaven/vial.json b/keyboards/ergohaven/hpd/keymaps/ergohaven/vial.json index 8b0c0770801..21c8e644b06 100755 --- a/keyboards/ergohaven/hpd/keymaps/ergohaven/vial.json +++ b/keyboards/ergohaven/hpd/keymaps/ergohaven/vial.json @@ -34,6 +34,130 @@ {"name": "LPREV", "title": "Switch to the previous layer", "shortName": "LPREV" + }, + {"name": "", + "title": "Not using", + "shortName": "" + }, + + {"name": "LG_TOGGLE", + "title": "Toggle language", + "shortName": "RuEn\nToggle" + }, + {"name": "LG_SYNC", + "title": "Sync language", + "shortName": "RuEn\nSync" + }, + {"name": "LG_SET_EN", + "title": "Set English language", + "shortName": "RuEn\nEn" + }, + {"name": "LG_SET_RU", + "title": "Toggle Russian language", + "shortName": "RuEn\nRu" + }, + + {"name": "LG_SET_GUI_SPC", + "title": "Set toggle languge to Win+Space", + "shortName": "RuEn\nWinSpc" + }, + {"name": "LG_SET_SFT_CTL", + "title": "Set toggle languge to Shift+Control", + "shortName": "RuEn\nSftCtl" + }, + {"name": "LG_SET_SFT_ALT", + "title": "Set toggle languge to Shift+Alt", + "shortName": "RuEn\nSftAlt" + }, + + {"name": "LG_DOT", + "title": "Send .", + "shortName": "RuEn\n." + }, + {"name": "LG_COMMA", + "title": "Send ,", + "shortName": "RuEn\n," + }, + {"name": "LG_SCLN", + "title": "Send ;", + "shortName": "RuEn\n;" + }, + {"name": "LG_COLON", + "title": "Send :", + "shortName": "RuEn\n:" + }, + {"name": "LG_DQUO", + "title": "Send \"", + "shortName": "RuEn\n\"" + }, + {"name": "LG_QUES", + "title": "Send ?", + "shortName": "RuEn\n?" + }, + {"name": "LG_SLASH", + "title": "Send /", + "shortName": "RuEn\n/" + }, + + {"name": "LG_LBR", + "title": "Send [", + "shortName": "RuEn\n[" + }, + {"name": "LG_RBR", + "title": "Send ]", + "shortName": "RuEn\n]" + }, + {"name": "LG_LCBR", + "title": "Send {", + "shortName": "RuEn\n{" + }, + {"name": "LG_RCBR", + "title": "Send }", + "shortName": "RuEn\n}" + }, + {"name": "LG_LT", + "title": "Send <", + "shortName": "RuEn\n<" + }, + {"name": "LG_GT", + "title": "Send >", + "shortName": "RuEn\n>" + }, + {"name": "LG_GRAVE", + "title": "Send `", + "shortName": "RuEn\n`" + }, + {"name": "LG_TILD", + "title": "Send ~", + "shortName": "RuEn\n~" + }, + {"name": "LG_AT", + "title": "Send @", + "shortName": "RuEn\n@" + }, + {"name": "LG_HASH", + "title": "Send #", + "shortName": "RuEn\n#" + }, + {"name": "LG_DLR", + "title": "Send $", + "shortName": "RuEn\n$" + }, + {"name": "LG_CIRC", + "title": "Send ^", + "shortName": "RuEn\n^" + }, + {"name": "LG_AMPR", + "title": "Send &", + "shortName": "RuEn\n&" + }, + {"name": "LG_PIPE", + "title": "Send |", + "shortName": "RuEn\n|" + }, + {"name": "LG_QUOTE", + "title": "Send '", + "shortName": "RuEn\n'" } ], "layouts": { diff --git a/keyboards/ergohaven/k02/keymaps/ergohaven/vial.json b/keyboards/ergohaven/k02/keymaps/ergohaven/vial.json index f81c116a538..d95c1e3c445 100755 --- a/keyboards/ergohaven/k02/keymaps/ergohaven/vial.json +++ b/keyboards/ergohaven/k02/keymaps/ergohaven/vial.json @@ -14,7 +14,7 @@ {"name": "PREDL", "title": "Поставить точку и начать новое предложение с заглавной буквы (Русская раскладка)", "shortName": "PREDL" - }, + }, {"name": "BRACES", "title": "This keycode types [, then ], and taps the left arrow to position the cursor between the []. Or if shift is held, it does the same but with curly braces {}.", "shortName": "BRACES" @@ -34,6 +34,130 @@ {"name": "LPREV", "title": "Switch to the previous layer", "shortName": "LPREV" + }, + {"name": "", + "title": "Not using", + "shortName": "" + }, + + {"name": "LG_TOGGLE", + "title": "Toggle language", + "shortName": "RuEn\nToggle" + }, + {"name": "LG_SYNC", + "title": "Sync language", + "shortName": "RuEn\nSync" + }, + {"name": "LG_SET_EN", + "title": "Set English language", + "shortName": "RuEn\nEn" + }, + {"name": "LG_SET_RU", + "title": "Toggle Russian language", + "shortName": "RuEn\nRu" + }, + + {"name": "LG_SET_GUI_SPC", + "title": "Set toggle languge to Win+Space", + "shortName": "RuEn\nWinSpc" + }, + {"name": "LG_SET_SFT_CTL", + "title": "Set toggle languge to Shift+Control", + "shortName": "RuEn\nSftCtl" + }, + {"name": "LG_SET_SFT_ALT", + "title": "Set toggle languge to Shift+Alt", + "shortName": "RuEn\nSftAlt" + }, + + {"name": "LG_DOT", + "title": "Send .", + "shortName": "RuEn\n." + }, + {"name": "LG_COMMA", + "title": "Send ,", + "shortName": "RuEn\n," + }, + {"name": "LG_SCLN", + "title": "Send ;", + "shortName": "RuEn\n;" + }, + {"name": "LG_COLON", + "title": "Send :", + "shortName": "RuEn\n:" + }, + {"name": "LG_DQUO", + "title": "Send \"", + "shortName": "RuEn\n\"" + }, + {"name": "LG_QUES", + "title": "Send ?", + "shortName": "RuEn\n?" + }, + {"name": "LG_SLASH", + "title": "Send /", + "shortName": "RuEn\n/" + }, + + {"name": "LG_LBR", + "title": "Send [", + "shortName": "RuEn\n[" + }, + {"name": "LG_RBR", + "title": "Send ]", + "shortName": "RuEn\n]" + }, + {"name": "LG_LCBR", + "title": "Send {", + "shortName": "RuEn\n{" + }, + {"name": "LG_RCBR", + "title": "Send }", + "shortName": "RuEn\n}" + }, + {"name": "LG_LT", + "title": "Send <", + "shortName": "RuEn\n<" + }, + {"name": "LG_GT", + "title": "Send >", + "shortName": "RuEn\n>" + }, + {"name": "LG_GRAVE", + "title": "Send `", + "shortName": "RuEn\n`" + }, + {"name": "LG_TILD", + "title": "Send ~", + "shortName": "RuEn\n~" + }, + {"name": "LG_AT", + "title": "Send @", + "shortName": "RuEn\n@" + }, + {"name": "LG_HASH", + "title": "Send #", + "shortName": "RuEn\n#" + }, + {"name": "LG_DLR", + "title": "Send $", + "shortName": "RuEn\n$" + }, + {"name": "LG_CIRC", + "title": "Send ^", + "shortName": "RuEn\n^" + }, + {"name": "LG_AMPR", + "title": "Send &", + "shortName": "RuEn\n&" + }, + {"name": "LG_PIPE", + "title": "Send |", + "shortName": "RuEn\n|" + }, + {"name": "LG_QUOTE", + "title": "Send '", + "shortName": "RuEn\n'" } ], "layouts": { diff --git a/keyboards/ergohaven/k03/keymaps/enc-left-right/vial.json b/keyboards/ergohaven/k03/keymaps/enc-left-right/vial.json index f3dbf46b808..ef65e1a63b3 100755 --- a/keyboards/ergohaven/k03/keymaps/enc-left-right/vial.json +++ b/keyboards/ergohaven/k03/keymaps/enc-left-right/vial.json @@ -15,7 +15,7 @@ {"name": "PREDL", "title": "Поставить точку и начать новое предложение с заглавной буквы (Русская раскладка)", "shortName": "PREDL" - }, + }, {"name": "BRACES", "title": "This keycode types [, then ], and taps the left arrow to position the cursor between the []. Or if shift is held, it does the same but with curly braces {}.", "shortName": "BRACES" @@ -35,6 +35,130 @@ {"name": "LPREV", "title": "Switch to the previous layer", "shortName": "LPREV" + }, + {"name": "", + "title": "Not using", + "shortName": "" + }, + + {"name": "LG_TOGGLE", + "title": "Toggle language", + "shortName": "RuEn\nToggle" + }, + {"name": "LG_SYNC", + "title": "Sync language", + "shortName": "RuEn\nSync" + }, + {"name": "LG_SET_EN", + "title": "Set English language", + "shortName": "RuEn\nEn" + }, + {"name": "LG_SET_RU", + "title": "Toggle Russian language", + "shortName": "RuEn\nRu" + }, + + {"name": "LG_SET_GUI_SPC", + "title": "Set toggle languge to Win+Space", + "shortName": "RuEn\nWinSpc" + }, + {"name": "LG_SET_SFT_CTL", + "title": "Set toggle languge to Shift+Control", + "shortName": "RuEn\nSftCtl" + }, + {"name": "LG_SET_SFT_ALT", + "title": "Set toggle languge to Shift+Alt", + "shortName": "RuEn\nSftAlt" + }, + + {"name": "LG_DOT", + "title": "Send .", + "shortName": "RuEn\n." + }, + {"name": "LG_COMMA", + "title": "Send ,", + "shortName": "RuEn\n," + }, + {"name": "LG_SCLN", + "title": "Send ;", + "shortName": "RuEn\n;" + }, + {"name": "LG_COLON", + "title": "Send :", + "shortName": "RuEn\n:" + }, + {"name": "LG_DQUO", + "title": "Send \"", + "shortName": "RuEn\n\"" + }, + {"name": "LG_QUES", + "title": "Send ?", + "shortName": "RuEn\n?" + }, + {"name": "LG_SLASH", + "title": "Send /", + "shortName": "RuEn\n/" + }, + + {"name": "LG_LBR", + "title": "Send [", + "shortName": "RuEn\n[" + }, + {"name": "LG_RBR", + "title": "Send ]", + "shortName": "RuEn\n]" + }, + {"name": "LG_LCBR", + "title": "Send {", + "shortName": "RuEn\n{" + }, + {"name": "LG_RCBR", + "title": "Send }", + "shortName": "RuEn\n}" + }, + {"name": "LG_LT", + "title": "Send <", + "shortName": "RuEn\n<" + }, + {"name": "LG_GT", + "title": "Send >", + "shortName": "RuEn\n>" + }, + {"name": "LG_GRAVE", + "title": "Send `", + "shortName": "RuEn\n`" + }, + {"name": "LG_TILD", + "title": "Send ~", + "shortName": "RuEn\n~" + }, + {"name": "LG_AT", + "title": "Send @", + "shortName": "RuEn\n@" + }, + {"name": "LG_HASH", + "title": "Send #", + "shortName": "RuEn\n#" + }, + {"name": "LG_DLR", + "title": "Send $", + "shortName": "RuEn\n$" + }, + {"name": "LG_CIRC", + "title": "Send ^", + "shortName": "RuEn\n^" + }, + {"name": "LG_AMPR", + "title": "Send &", + "shortName": "RuEn\n&" + }, + {"name": "LG_PIPE", + "title": "Send |", + "shortName": "RuEn\n|" + }, + {"name": "LG_QUOTE", + "title": "Send '", + "shortName": "RuEn\n'" } ], "layouts": { diff --git a/keyboards/ergohaven/k03/keymaps/enc-left/vial.json b/keyboards/ergohaven/k03/keymaps/enc-left/vial.json index 276a1a75a86..9820e90ac06 100755 --- a/keyboards/ergohaven/k03/keymaps/enc-left/vial.json +++ b/keyboards/ergohaven/k03/keymaps/enc-left/vial.json @@ -15,7 +15,7 @@ {"name": "PREDL", "title": "Поставить точку и начать новое предложение с заглавной буквы (Русская раскладка)", "shortName": "PREDL" - }, + }, {"name": "BRACES", "title": "This keycode types [, then ], and taps the left arrow to position the cursor between the []. Or if shift is held, it does the same but with curly braces {}.", "shortName": "BRACES" @@ -35,6 +35,130 @@ {"name": "LPREV", "title": "Switch to the previous layer", "shortName": "LPREV" + }, + {"name": "", + "title": "Not using", + "shortName": "" + }, + + {"name": "LG_TOGGLE", + "title": "Toggle language", + "shortName": "RuEn\nToggle" + }, + {"name": "LG_SYNC", + "title": "Sync language", + "shortName": "RuEn\nSync" + }, + {"name": "LG_SET_EN", + "title": "Set English language", + "shortName": "RuEn\nEn" + }, + {"name": "LG_SET_RU", + "title": "Toggle Russian language", + "shortName": "RuEn\nRu" + }, + + {"name": "LG_SET_GUI_SPC", + "title": "Set toggle languge to Win+Space", + "shortName": "RuEn\nWinSpc" + }, + {"name": "LG_SET_SFT_CTL", + "title": "Set toggle languge to Shift+Control", + "shortName": "RuEn\nSftCtl" + }, + {"name": "LG_SET_SFT_ALT", + "title": "Set toggle languge to Shift+Alt", + "shortName": "RuEn\nSftAlt" + }, + + {"name": "LG_DOT", + "title": "Send .", + "shortName": "RuEn\n." + }, + {"name": "LG_COMMA", + "title": "Send ,", + "shortName": "RuEn\n," + }, + {"name": "LG_SCLN", + "title": "Send ;", + "shortName": "RuEn\n;" + }, + {"name": "LG_COLON", + "title": "Send :", + "shortName": "RuEn\n:" + }, + {"name": "LG_DQUO", + "title": "Send \"", + "shortName": "RuEn\n\"" + }, + {"name": "LG_QUES", + "title": "Send ?", + "shortName": "RuEn\n?" + }, + {"name": "LG_SLASH", + "title": "Send /", + "shortName": "RuEn\n/" + }, + + {"name": "LG_LBR", + "title": "Send [", + "shortName": "RuEn\n[" + }, + {"name": "LG_RBR", + "title": "Send ]", + "shortName": "RuEn\n]" + }, + {"name": "LG_LCBR", + "title": "Send {", + "shortName": "RuEn\n{" + }, + {"name": "LG_RCBR", + "title": "Send }", + "shortName": "RuEn\n}" + }, + {"name": "LG_LT", + "title": "Send <", + "shortName": "RuEn\n<" + }, + {"name": "LG_GT", + "title": "Send >", + "shortName": "RuEn\n>" + }, + {"name": "LG_GRAVE", + "title": "Send `", + "shortName": "RuEn\n`" + }, + {"name": "LG_TILD", + "title": "Send ~", + "shortName": "RuEn\n~" + }, + {"name": "LG_AT", + "title": "Send @", + "shortName": "RuEn\n@" + }, + {"name": "LG_HASH", + "title": "Send #", + "shortName": "RuEn\n#" + }, + {"name": "LG_DLR", + "title": "Send $", + "shortName": "RuEn\n$" + }, + {"name": "LG_CIRC", + "title": "Send ^", + "shortName": "RuEn\n^" + }, + {"name": "LG_AMPR", + "title": "Send &", + "shortName": "RuEn\n&" + }, + {"name": "LG_PIPE", + "title": "Send |", + "shortName": "RuEn\n|" + }, + {"name": "LG_QUOTE", + "title": "Send '", + "shortName": "RuEn\n'" } ], "layouts": { diff --git a/keyboards/ergohaven/k03/keymaps/enc-right/vial.json b/keyboards/ergohaven/k03/keymaps/enc-right/vial.json index 3b5ab51d20b..5c74d2c0822 100755 --- a/keyboards/ergohaven/k03/keymaps/enc-right/vial.json +++ b/keyboards/ergohaven/k03/keymaps/enc-right/vial.json @@ -15,7 +15,7 @@ {"name": "PREDL", "title": "Поставить точку и начать новое предложение с заглавной буквы (Русская раскладка)", "shortName": "PREDL" - }, + }, {"name": "BRACES", "title": "This keycode types [, then ], and taps the left arrow to position the cursor between the []. Or if shift is held, it does the same but with curly braces {}.", "shortName": "BRACES" @@ -35,6 +35,254 @@ {"name": "LPREV", "title": "Switch to the previous layer", "shortName": "LPREV" + }, + {"name": "", + "title": "Not using", + "shortName": "" + }, + + {"name": "LG_TOGGLE", + "title": "Toggle language", + "shortName": "RuEn\nToggle" + }, + {"name": "LG_SYNC", + "title": "Sync language", + "shortName": "RuEn\nSync" + }, + {"name": "LG_SET_EN", + "title": "Set English language", + "shortName": "RuEn\nEn" + }, + {"name": "LG_SET_RU", + "title": "Toggle Russian language", + "shortName": "RuEn\nRu" + }, + + {"name": "LG_SET_GUI_SPC", + "title": "Set toggle languge to Win+Space", + "shortName": "RuEn\nWinSpc" + }, + {"name": "LG_SET_SFT_CTL", + "title": "Set toggle languge to Shift+Control", + "shortName": "RuEn\nSftCtl" + }, + {"name": "LG_SET_SFT_ALT", + "title": "Set toggle languge to Shift+Alt", + "shortName": "RuEn\nSftAlt" + }, + + {"name": "LG_DOT", + "title": "Send .", + "shortName": "RuEn\n." + }, + {"name": "LG_COMMA", + "title": "Send ,", + "shortName": "RuEn\n," + }, + {"name": "LG_SCLN", + "title": "Send ;", + "shortName": "RuEn\n;" + }, + {"name": "LG_COLON", + "title": "Send :", + "shortName": "RuEn\n:" + }, + {"name": "LG_DQUO", + "title": "Send \"", + "shortName": "RuEn\n\"" + }, + {"name": "LG_QUES", + "title": "Send ?", + "shortName": "RuEn\n?" + }, + {"name": "LG_SLASH", + "title": "Send /", + "shortName": "RuEn\n/" + }, + + {"name": "LG_LBR", + "title": "Send [", + "shortName": "RuEn\n[" + }, + {"name": "LG_RBR", + "title": "Send ]", + "shortName": "RuEn\n]" + }, + {"name": "LG_LCBR", + "title": "Send {", + "shortName": "RuEn\n{" + }, + {"name": "LG_RCBR", + "title": "Send }", + "shortName": "RuEn\n}" + }, + {"name": "LG_LT", + "title": "Send <", + "shortName": "RuEn\n<" + }, + {"name": "LG_GT", + "title": "Send >", + "shortName": "RuEn\n>" + }, + {"name": "LG_GRAVE", + "title": "Send `", + "shortName": "RuEn\n`" + }, + {"name": "LG_TILD", + "title": "Send ~", + "shortName": "RuEn\n~" + }, + {"name": "LG_AT", + "title": "Send @", + "shortName": "RuEn\n@" + }, + {"name": "LG_HASH", + "title": "Send #", + "shortName": "RuEn\n#" + }, + {"name": "LG_DLR", + "title": "Send $", + "shortName": "RuEn\n$" + }, + {"name": "LG_CIRC", + "title": "Send ^", + "shortName": "RuEn\n^" + }, + {"name": "LG_AMPR", + "title": "Send &", + "shortName": "RuEn\n&" + }, + {"name": "LG_PIPE", + "title": "Send |", + "shortName": "RuEn\n|" + }, + {"name": "LG_QUOTE", + "title": "Send '", + "shortName": "RuEn\n'" + }, + {"name": "", + "title": "Not using", + "shortName": "" + }, + + {"name": "LG_TOGGLE", + "title": "Toggle language", + "shortName": "RuEn\nToggle" + }, + {"name": "LG_SYNC", + "title": "Sync language", + "shortName": "RuEn\nSync" + }, + {"name": "LG_SET_EN", + "title": "Set English language", + "shortName": "RuEn\nEn" + }, + {"name": "LG_SET_RU", + "title": "Toggle Russian language", + "shortName": "RuEn\nRu" + }, + + {"name": "LG_SET_GUI_SPC", + "title": "Set toggle languge to Win+Space", + "shortName": "RuEn\nWinSpc" + }, + {"name": "LG_SET_SFT_CTL", + "title": "Set toggle languge to Shift+Control", + "shortName": "RuEn\nSftCtl" + }, + {"name": "LG_SET_SFT_ALT", + "title": "Set toggle languge to Shift+Alt", + "shortName": "RuEn\nSftAlt" + }, + + {"name": "LG_DOT", + "title": "Send .", + "shortName": "RuEn\n." + }, + {"name": "LG_COMMA", + "title": "Send ,", + "shortName": "RuEn\n," + }, + {"name": "LG_SCLN", + "title": "Send ;", + "shortName": "RuEn\n;" + }, + {"name": "LG_COLON", + "title": "Send :", + "shortName": "RuEn\n:" + }, + {"name": "LG_DQUO", + "title": "Send \"", + "shortName": "RuEn\n\"" + }, + {"name": "LG_QUES", + "title": "Send ?", + "shortName": "RuEn\n?" + }, + {"name": "LG_SLASH", + "title": "Send /", + "shortName": "RuEn\n/" + }, + + {"name": "LG_LBR", + "title": "Send [", + "shortName": "RuEn\n[" + }, + {"name": "LG_RBR", + "title": "Send ]", + "shortName": "RuEn\n]" + }, + {"name": "LG_LCBR", + "title": "Send {", + "shortName": "RuEn\n{" + }, + {"name": "LG_RCBR", + "title": "Send }", + "shortName": "RuEn\n}" + }, + {"name": "LG_LT", + "title": "Send <", + "shortName": "RuEn\n<" + }, + {"name": "LG_GT", + "title": "Send >", + "shortName": "RuEn\n>" + }, + {"name": "LG_GRAVE", + "title": "Send `", + "shortName": "RuEn\n`" + }, + {"name": "LG_TILD", + "title": "Send ~", + "shortName": "RuEn\n~" + }, + {"name": "LG_AT", + "title": "Send @", + "shortName": "RuEn\n@" + }, + {"name": "LG_HASH", + "title": "Send #", + "shortName": "RuEn\n#" + }, + {"name": "LG_DLR", + "title": "Send $", + "shortName": "RuEn\n$" + }, + {"name": "LG_CIRC", + "title": "Send ^", + "shortName": "RuEn\n^" + }, + {"name": "LG_AMPR", + "title": "Send &", + "shortName": "RuEn\n&" + }, + {"name": "LG_PIPE", + "title": "Send |", + "shortName": "RuEn\n|" + }, + {"name": "LG_QUOTE", + "title": "Send '", + "shortName": "RuEn\n'" } ], "layouts": { diff --git a/keyboards/ergohaven/k03/keymaps/ergohaven/vial.json b/keyboards/ergohaven/k03/keymaps/ergohaven/vial.json index 8649ff60904..615d8e65c34 100755 --- a/keyboards/ergohaven/k03/keymaps/ergohaven/vial.json +++ b/keyboards/ergohaven/k03/keymaps/ergohaven/vial.json @@ -15,7 +15,7 @@ {"name": "PREDL", "title": "Поставить точку и начать новое предложение с заглавной буквы (Русская раскладка)", "shortName": "PREDL" - }, + }, {"name": "BRACES", "title": "This keycode types [, then ], and taps the left arrow to position the cursor between the []. Or if shift is held, it does the same but with curly braces {}.", "shortName": "BRACES" @@ -35,6 +35,130 @@ {"name": "LPREV", "title": "Switch to the previous layer", "shortName": "LPREV" + }, + {"name": "", + "title": "Not using", + "shortName": "" + }, + + {"name": "LG_TOGGLE", + "title": "Toggle language", + "shortName": "RuEn\nToggle" + }, + {"name": "LG_SYNC", + "title": "Sync language", + "shortName": "RuEn\nSync" + }, + {"name": "LG_SET_EN", + "title": "Set English language", + "shortName": "RuEn\nEn" + }, + {"name": "LG_SET_RU", + "title": "Toggle Russian language", + "shortName": "RuEn\nRu" + }, + + {"name": "LG_SET_GUI_SPC", + "title": "Set toggle languge to Win+Space", + "shortName": "RuEn\nWinSpc" + }, + {"name": "LG_SET_SFT_CTL", + "title": "Set toggle languge to Shift+Control", + "shortName": "RuEn\nSftCtl" + }, + {"name": "LG_SET_SFT_ALT", + "title": "Set toggle languge to Shift+Alt", + "shortName": "RuEn\nSftAlt" + }, + + {"name": "LG_DOT", + "title": "Send .", + "shortName": "RuEn\n." + }, + {"name": "LG_COMMA", + "title": "Send ,", + "shortName": "RuEn\n," + }, + {"name": "LG_SCLN", + "title": "Send ;", + "shortName": "RuEn\n;" + }, + {"name": "LG_COLON", + "title": "Send :", + "shortName": "RuEn\n:" + }, + {"name": "LG_DQUO", + "title": "Send \"", + "shortName": "RuEn\n\"" + }, + {"name": "LG_QUES", + "title": "Send ?", + "shortName": "RuEn\n?" + }, + {"name": "LG_SLASH", + "title": "Send /", + "shortName": "RuEn\n/" + }, + + {"name": "LG_LBR", + "title": "Send [", + "shortName": "RuEn\n[" + }, + {"name": "LG_RBR", + "title": "Send ]", + "shortName": "RuEn\n]" + }, + {"name": "LG_LCBR", + "title": "Send {", + "shortName": "RuEn\n{" + }, + {"name": "LG_RCBR", + "title": "Send }", + "shortName": "RuEn\n}" + }, + {"name": "LG_LT", + "title": "Send <", + "shortName": "RuEn\n<" + }, + {"name": "LG_GT", + "title": "Send >", + "shortName": "RuEn\n>" + }, + {"name": "LG_GRAVE", + "title": "Send `", + "shortName": "RuEn\n`" + }, + {"name": "LG_TILD", + "title": "Send ~", + "shortName": "RuEn\n~" + }, + {"name": "LG_AT", + "title": "Send @", + "shortName": "RuEn\n@" + }, + {"name": "LG_HASH", + "title": "Send #", + "shortName": "RuEn\n#" + }, + {"name": "LG_DLR", + "title": "Send $", + "shortName": "RuEn\n$" + }, + {"name": "LG_CIRC", + "title": "Send ^", + "shortName": "RuEn\n^" + }, + {"name": "LG_AMPR", + "title": "Send &", + "shortName": "RuEn\n&" + }, + {"name": "LG_PIPE", + "title": "Send |", + "shortName": "RuEn\n|" + }, + {"name": "LG_QUOTE", + "title": "Send '", + "shortName": "RuEn\n'" } ], "layouts": { diff --git a/keyboards/ergohaven/planeta/keymaps/hid/hid_display.c b/keyboards/ergohaven/planeta/keymaps/hid/hid_display.c index 2ec2dad750f..d0652bf0ef3 100644 --- a/keyboards/ergohaven/planeta/keymaps/hid/hid_display.c +++ b/keyboards/ergohaven/planeta/keymaps/hid/hid_display.c @@ -2,6 +2,7 @@ #include "display.h" #include "raw_hid.h" #include "lvgl_helpers.h" +#include "lang_ru_en.h" uint16_t home_screen_timer = 0; @@ -29,15 +30,16 @@ static lv_obj_t *label_volume_arc; static lv_obj_t *label_media_artist; static lv_obj_t *label_media_title; -enum layout { _EN = 0, _RU }; void set_layout_label(uint8_t layout) { switch (layout) { - case _EN: + case LANG_EN: lv_label_set_text(label_layout, "EN"); + lang_sync_external(LANG_EN); break; - case _RU: + case LANG_RU: lv_label_set_text(label_layout, "RU"); + lang_sync_external(LANG_RU); break; } } diff --git a/keyboards/ergohaven/planeta/keymaps/hid/vial.json b/keyboards/ergohaven/planeta/keymaps/hid/vial.json index 77adfabb197..df8eed0349e 100644 --- a/keyboards/ergohaven/planeta/keymaps/hid/vial.json +++ b/keyboards/ergohaven/planeta/keymaps/hid/vial.json @@ -10,7 +10,7 @@ {"name": "PREDL", "title": "Поставить точку и начать новое предложение с заглавной буквы (Русская раскладка)", "shortName": "PREDL" - }, + }, {"name": "BRACES", "title": "This keycode types [, then ], and taps the left arrow to position the cursor between the []. Or if shift is held, it does the same but with curly braces {}.", "shortName": "BRACES" @@ -18,7 +18,7 @@ {"name": "PARENTH", "title": "This keycode types (, then ), and taps the left arrow to position the cursor between the ().", "shortName": "PARENTH" - }, + }, {"name": "ALT_TAB", "title": "Holds Alt and taps Tab, then waits for 750ms, if the key is tapped again, it will send another Tab; if there is no tap, Alt will turn off. This allows you to cycle through windows with only one key", "shortName": "ALT_TAB" @@ -30,6 +30,130 @@ {"name": "LPREV", "title": "Switch to the previous layer", "shortName": "LPREV" + }, + {"name": "", + "title": "Not using", + "shortName": "" + }, + + {"name": "LG_TOGGLE", + "title": "Toggle language", + "shortName": "RuEn\nToggle" + }, + {"name": "LG_SYNC", + "title": "Sync language", + "shortName": "RuEn\nSync" + }, + {"name": "LG_SET_EN", + "title": "Set English language", + "shortName": "RuEn\nEn" + }, + {"name": "LG_SET_RU", + "title": "Toggle Russian language", + "shortName": "RuEn\nRu" + }, + + {"name": "LG_SET_GUI_SPC", + "title": "Set toggle languge to Win+Space", + "shortName": "RuEn\nWinSpc" + }, + {"name": "LG_SET_SFT_CTL", + "title": "Set toggle languge to Shift+Control", + "shortName": "RuEn\nSftCtl" + }, + {"name": "LG_SET_SFT_ALT", + "title": "Set toggle languge to Shift+Alt", + "shortName": "RuEn\nSftAlt" + }, + + {"name": "LG_DOT", + "title": "Send .", + "shortName": "RuEn\n." + }, + {"name": "LG_COMMA", + "title": "Send ,", + "shortName": "RuEn\n," + }, + {"name": "LG_SCLN", + "title": "Send ;", + "shortName": "RuEn\n;" + }, + {"name": "LG_COLON", + "title": "Send :", + "shortName": "RuEn\n:" + }, + {"name": "LG_DQUO", + "title": "Send \"", + "shortName": "RuEn\n\"" + }, + {"name": "LG_QUES", + "title": "Send ?", + "shortName": "RuEn\n?" + }, + {"name": "LG_SLASH", + "title": "Send /", + "shortName": "RuEn\n/" + }, + + {"name": "LG_LBR", + "title": "Send [", + "shortName": "RuEn\n[" + }, + {"name": "LG_RBR", + "title": "Send ]", + "shortName": "RuEn\n]" + }, + {"name": "LG_LCBR", + "title": "Send {", + "shortName": "RuEn\n{" + }, + {"name": "LG_RCBR", + "title": "Send }", + "shortName": "RuEn\n}" + }, + {"name": "LG_LT", + "title": "Send <", + "shortName": "RuEn\n<" + }, + {"name": "LG_GT", + "title": "Send >", + "shortName": "RuEn\n>" + }, + {"name": "LG_GRAVE", + "title": "Send `", + "shortName": "RuEn\n`" + }, + {"name": "LG_TILD", + "title": "Send ~", + "shortName": "RuEn\n~" + }, + {"name": "LG_AT", + "title": "Send @", + "shortName": "RuEn\n@" + }, + {"name": "LG_HASH", + "title": "Send #", + "shortName": "RuEn\n#" + }, + {"name": "LG_DLR", + "title": "Send $", + "shortName": "RuEn\n$" + }, + {"name": "LG_CIRC", + "title": "Send ^", + "shortName": "RuEn\n^" + }, + {"name": "LG_AMPR", + "title": "Send &", + "shortName": "RuEn\n&" + }, + {"name": "LG_PIPE", + "title": "Send |", + "shortName": "RuEn\n|" + }, + {"name": "LG_QUOTE", + "title": "Send '", + "shortName": "RuEn\n'" } ], "layouts":{ diff --git a/keyboards/ergohaven/planeta/keymaps/v1/vial.json b/keyboards/ergohaven/planeta/keymaps/v1/vial.json index 5cd717480a6..2bce40bf2f1 100644 --- a/keyboards/ergohaven/planeta/keymaps/v1/vial.json +++ b/keyboards/ergohaven/planeta/keymaps/v1/vial.json @@ -10,7 +10,7 @@ {"name": "PREDL", "title": "Поставить точку и начать новое предложение с заглавной буквы (Русская раскладка)", "shortName": "PREDL" - }, + }, {"name": "BRACES", "title": "This keycode types [, then ], and taps the left arrow to position the cursor between the []. Or if shift is held, it does the same but with curly braces {}.", "shortName": "BRACES" @@ -18,7 +18,7 @@ {"name": "PARENTH", "title": "This keycode types (, then ), and taps the left arrow to position the cursor between the ().", "shortName": "PARENTH" - }, + }, {"name": "ALT_TAB", "title": "Holds Alt and taps Tab, then waits for 750ms, if the key is tapped again, it will send another Tab; if there is no tap, Alt will turn off. This allows you to cycle through windows with only one key", "shortName": "ALT_TAB" @@ -30,6 +30,130 @@ {"name": "LPREV", "title": "Switch to the previous layer", "shortName": "LPREV" + }, + {"name": "", + "title": "Not using", + "shortName": "" + }, + + {"name": "LG_TOGGLE", + "title": "Toggle language", + "shortName": "RuEn\nToggle" + }, + {"name": "LG_SYNC", + "title": "Sync language", + "shortName": "RuEn\nSync" + }, + {"name": "LG_SET_EN", + "title": "Set English language", + "shortName": "RuEn\nEn" + }, + {"name": "LG_SET_RU", + "title": "Toggle Russian language", + "shortName": "RuEn\nRu" + }, + + {"name": "LG_SET_GUI_SPC", + "title": "Set toggle languge to Win+Space", + "shortName": "RuEn\nWinSpc" + }, + {"name": "LG_SET_SFT_CTL", + "title": "Set toggle languge to Shift+Control", + "shortName": "RuEn\nSftCtl" + }, + {"name": "LG_SET_SFT_ALT", + "title": "Set toggle languge to Shift+Alt", + "shortName": "RuEn\nSftAlt" + }, + + {"name": "LG_DOT", + "title": "Send .", + "shortName": "RuEn\n." + }, + {"name": "LG_COMMA", + "title": "Send ,", + "shortName": "RuEn\n," + }, + {"name": "LG_SCLN", + "title": "Send ;", + "shortName": "RuEn\n;" + }, + {"name": "LG_COLON", + "title": "Send :", + "shortName": "RuEn\n:" + }, + {"name": "LG_DQUO", + "title": "Send \"", + "shortName": "RuEn\n\"" + }, + {"name": "LG_QUES", + "title": "Send ?", + "shortName": "RuEn\n?" + }, + {"name": "LG_SLASH", + "title": "Send /", + "shortName": "RuEn\n/" + }, + + {"name": "LG_LBR", + "title": "Send [", + "shortName": "RuEn\n[" + }, + {"name": "LG_RBR", + "title": "Send ]", + "shortName": "RuEn\n]" + }, + {"name": "LG_LCBR", + "title": "Send {", + "shortName": "RuEn\n{" + }, + {"name": "LG_RCBR", + "title": "Send }", + "shortName": "RuEn\n}" + }, + {"name": "LG_LT", + "title": "Send <", + "shortName": "RuEn\n<" + }, + {"name": "LG_GT", + "title": "Send >", + "shortName": "RuEn\n>" + }, + {"name": "LG_GRAVE", + "title": "Send `", + "shortName": "RuEn\n`" + }, + {"name": "LG_TILD", + "title": "Send ~", + "shortName": "RuEn\n~" + }, + {"name": "LG_AT", + "title": "Send @", + "shortName": "RuEn\n@" + }, + {"name": "LG_HASH", + "title": "Send #", + "shortName": "RuEn\n#" + }, + {"name": "LG_DLR", + "title": "Send $", + "shortName": "RuEn\n$" + }, + {"name": "LG_CIRC", + "title": "Send ^", + "shortName": "RuEn\n^" + }, + {"name": "LG_AMPR", + "title": "Send &", + "shortName": "RuEn\n&" + }, + {"name": "LG_PIPE", + "title": "Send |", + "shortName": "RuEn\n|" + }, + {"name": "LG_QUOTE", + "title": "Send '", + "shortName": "RuEn\n'" } ], "layouts":{ diff --git a/keyboards/ergohaven/planeta/keymaps/v2/vial.json b/keyboards/ergohaven/planeta/keymaps/v2/vial.json index 0d7ef58d22d..07bfd9728dc 100644 --- a/keyboards/ergohaven/planeta/keymaps/v2/vial.json +++ b/keyboards/ergohaven/planeta/keymaps/v2/vial.json @@ -10,7 +10,7 @@ {"name": "PREDL", "title": "Поставить точку и начать новое предложение с заглавной буквы (Русская раскладка)", "shortName": "PREDL" - }, + }, {"name": "BRACES", "title": "This keycode types [, then ], and taps the left arrow to position the cursor between the []. Or if shift is held, it does the same but with curly braces {}.", "shortName": "BRACES" @@ -18,7 +18,7 @@ {"name": "PARENTH", "title": "This keycode types (, then ), and taps the left arrow to position the cursor between the ().", "shortName": "PARENTH" - }, + }, {"name": "ALT_TAB", "title": "Holds Alt and taps Tab, then waits for 750ms, if the key is tapped again, it will send another Tab; if there is no tap, Alt will turn off. This allows you to cycle through windows with only one key", "shortName": "ALT_TAB" @@ -30,6 +30,130 @@ {"name": "LPREV", "title": "Switch to the previous layer", "shortName": "LPREV" + }, + {"name": "", + "title": "Not using", + "shortName": "" + }, + + {"name": "LG_TOGGLE", + "title": "Toggle language", + "shortName": "RuEn\nToggle" + }, + {"name": "LG_SYNC", + "title": "Sync language", + "shortName": "RuEn\nSync" + }, + {"name": "LG_SET_EN", + "title": "Set English language", + "shortName": "RuEn\nEn" + }, + {"name": "LG_SET_RU", + "title": "Toggle Russian language", + "shortName": "RuEn\nRu" + }, + + {"name": "LG_SET_GUI_SPC", + "title": "Set toggle languge to Win+Space", + "shortName": "RuEn\nWinSpc" + }, + {"name": "LG_SET_SFT_CTL", + "title": "Set toggle languge to Shift+Control", + "shortName": "RuEn\nSftCtl" + }, + {"name": "LG_SET_SFT_ALT", + "title": "Set toggle languge to Shift+Alt", + "shortName": "RuEn\nSftAlt" + }, + + {"name": "LG_DOT", + "title": "Send .", + "shortName": "RuEn\n." + }, + {"name": "LG_COMMA", + "title": "Send ,", + "shortName": "RuEn\n," + }, + {"name": "LG_SCLN", + "title": "Send ;", + "shortName": "RuEn\n;" + }, + {"name": "LG_COLON", + "title": "Send :", + "shortName": "RuEn\n:" + }, + {"name": "LG_DQUO", + "title": "Send \"", + "shortName": "RuEn\n\"" + }, + {"name": "LG_QUES", + "title": "Send ?", + "shortName": "RuEn\n?" + }, + {"name": "LG_SLASH", + "title": "Send /", + "shortName": "RuEn\n/" + }, + + {"name": "LG_LBR", + "title": "Send [", + "shortName": "RuEn\n[" + }, + {"name": "LG_RBR", + "title": "Send ]", + "shortName": "RuEn\n]" + }, + {"name": "LG_LCBR", + "title": "Send {", + "shortName": "RuEn\n{" + }, + {"name": "LG_RCBR", + "title": "Send }", + "shortName": "RuEn\n}" + }, + {"name": "LG_LT", + "title": "Send <", + "shortName": "RuEn\n<" + }, + {"name": "LG_GT", + "title": "Send >", + "shortName": "RuEn\n>" + }, + {"name": "LG_GRAVE", + "title": "Send `", + "shortName": "RuEn\n`" + }, + {"name": "LG_TILD", + "title": "Send ~", + "shortName": "RuEn\n~" + }, + {"name": "LG_AT", + "title": "Send @", + "shortName": "RuEn\n@" + }, + {"name": "LG_HASH", + "title": "Send #", + "shortName": "RuEn\n#" + }, + {"name": "LG_DLR", + "title": "Send $", + "shortName": "RuEn\n$" + }, + {"name": "LG_CIRC", + "title": "Send ^", + "shortName": "RuEn\n^" + }, + {"name": "LG_AMPR", + "title": "Send &", + "shortName": "RuEn\n&" + }, + {"name": "LG_PIPE", + "title": "Send |", + "shortName": "RuEn\n|" + }, + {"name": "LG_QUOTE", + "title": "Send '", + "shortName": "RuEn\n'" } ], "layouts":{ diff --git a/keyboards/ergohaven/remnant/keymaps/ergohaven/vial.json b/keyboards/ergohaven/remnant/keymaps/ergohaven/vial.json index 824532b3465..35f8489d02d 100755 --- a/keyboards/ergohaven/remnant/keymaps/ergohaven/vial.json +++ b/keyboards/ergohaven/remnant/keymaps/ergohaven/vial.json @@ -15,7 +15,7 @@ {"name": "PREDL", "title": "Поставить точку и начать новое предложение с заглавной буквы (Русская раскладка)", "shortName": "PREDL" - }, + }, {"name": "BRACES", "title": "This keycode types [, then ], and taps the left arrow to position the cursor between the []. Or if shift is held, it does the same but with curly braces {}.", "shortName": "BRACES" @@ -35,6 +35,130 @@ {"name": "LPREV", "title": "Switch to the previous layer", "shortName": "LPREV" + }, + {"name": "", + "title": "Not using", + "shortName": "" + }, + + {"name": "LG_TOGGLE", + "title": "Toggle language", + "shortName": "RuEn\nToggle" + }, + {"name": "LG_SYNC", + "title": "Sync language", + "shortName": "RuEn\nSync" + }, + {"name": "LG_SET_EN", + "title": "Set English language", + "shortName": "RuEn\nEn" + }, + {"name": "LG_SET_RU", + "title": "Toggle Russian language", + "shortName": "RuEn\nRu" + }, + + {"name": "LG_SET_GUI_SPC", + "title": "Set toggle languge to Win+Space", + "shortName": "RuEn\nWinSpc" + }, + {"name": "LG_SET_SFT_CTL", + "title": "Set toggle languge to Shift+Control", + "shortName": "RuEn\nSftCtl" + }, + {"name": "LG_SET_SFT_ALT", + "title": "Set toggle languge to Shift+Alt", + "shortName": "RuEn\nSftAlt" + }, + + {"name": "LG_DOT", + "title": "Send .", + "shortName": "RuEn\n." + }, + {"name": "LG_COMMA", + "title": "Send ,", + "shortName": "RuEn\n," + }, + {"name": "LG_SCLN", + "title": "Send ;", + "shortName": "RuEn\n;" + }, + {"name": "LG_COLON", + "title": "Send :", + "shortName": "RuEn\n:" + }, + {"name": "LG_DQUO", + "title": "Send \"", + "shortName": "RuEn\n\"" + }, + {"name": "LG_QUES", + "title": "Send ?", + "shortName": "RuEn\n?" + }, + {"name": "LG_SLASH", + "title": "Send /", + "shortName": "RuEn\n/" + }, + + {"name": "LG_LBR", + "title": "Send [", + "shortName": "RuEn\n[" + }, + {"name": "LG_RBR", + "title": "Send ]", + "shortName": "RuEn\n]" + }, + {"name": "LG_LCBR", + "title": "Send {", + "shortName": "RuEn\n{" + }, + {"name": "LG_RCBR", + "title": "Send }", + "shortName": "RuEn\n}" + }, + {"name": "LG_LT", + "title": "Send <", + "shortName": "RuEn\n<" + }, + {"name": "LG_GT", + "title": "Send >", + "shortName": "RuEn\n>" + }, + {"name": "LG_GRAVE", + "title": "Send `", + "shortName": "RuEn\n`" + }, + {"name": "LG_TILD", + "title": "Send ~", + "shortName": "RuEn\n~" + }, + {"name": "LG_AT", + "title": "Send @", + "shortName": "RuEn\n@" + }, + {"name": "LG_HASH", + "title": "Send #", + "shortName": "RuEn\n#" + }, + {"name": "LG_DLR", + "title": "Send $", + "shortName": "RuEn\n$" + }, + {"name": "LG_CIRC", + "title": "Send ^", + "shortName": "RuEn\n^" + }, + {"name": "LG_AMPR", + "title": "Send &", + "shortName": "RuEn\n&" + }, + {"name": "LG_PIPE", + "title": "Send |", + "shortName": "RuEn\n|" + }, + {"name": "LG_QUOTE", + "title": "Send '", + "shortName": "RuEn\n'" } ], "layouts": { diff --git a/keyboards/ergohaven/velvet/keymaps/v1/vial.json b/keyboards/ergohaven/velvet/keymaps/v1/vial.json index 74481f1debb..d3129176adf 100755 --- a/keyboards/ergohaven/velvet/keymaps/v1/vial.json +++ b/keyboards/ergohaven/velvet/keymaps/v1/vial.json @@ -10,7 +10,7 @@ {"name": "PREDL", "title": "Поставить точку и начать новое предложение с заглавной буквы (Русская раскладка)", "shortName": "PREDL" - }, + }, {"name": "BRACES", "title": "This keycode types [, then ], and taps the left arrow to position the cursor between the []. Or if shift is held, it does the same but with curly braces {}.", "shortName": "BRACES" @@ -30,6 +30,130 @@ {"name": "LPREV", "title": "Switch to the previous layer", "shortName": "LPREV" + }, + {"name": "", + "title": "Not using", + "shortName": "" + }, + + {"name": "LG_TOGGLE", + "title": "Toggle language", + "shortName": "RuEn\nToggle" + }, + {"name": "LG_SYNC", + "title": "Sync language", + "shortName": "RuEn\nSync" + }, + {"name": "LG_SET_EN", + "title": "Set English language", + "shortName": "RuEn\nEn" + }, + {"name": "LG_SET_RU", + "title": "Toggle Russian language", + "shortName": "RuEn\nRu" + }, + + {"name": "LG_SET_GUI_SPC", + "title": "Set toggle languge to Win+Space", + "shortName": "RuEn\nWinSpc" + }, + {"name": "LG_SET_SFT_CTL", + "title": "Set toggle languge to Shift+Control", + "shortName": "RuEn\nSftCtl" + }, + {"name": "LG_SET_SFT_ALT", + "title": "Set toggle languge to Shift+Alt", + "shortName": "RuEn\nSftAlt" + }, + + {"name": "LG_DOT", + "title": "Send .", + "shortName": "RuEn\n." + }, + {"name": "LG_COMMA", + "title": "Send ,", + "shortName": "RuEn\n," + }, + {"name": "LG_SCLN", + "title": "Send ;", + "shortName": "RuEn\n;" + }, + {"name": "LG_COLON", + "title": "Send :", + "shortName": "RuEn\n:" + }, + {"name": "LG_DQUO", + "title": "Send \"", + "shortName": "RuEn\n\"" + }, + {"name": "LG_QUES", + "title": "Send ?", + "shortName": "RuEn\n?" + }, + {"name": "LG_SLASH", + "title": "Send /", + "shortName": "RuEn\n/" + }, + + {"name": "LG_LBR", + "title": "Send [", + "shortName": "RuEn\n[" + }, + {"name": "LG_RBR", + "title": "Send ]", + "shortName": "RuEn\n]" + }, + {"name": "LG_LCBR", + "title": "Send {", + "shortName": "RuEn\n{" + }, + {"name": "LG_RCBR", + "title": "Send }", + "shortName": "RuEn\n}" + }, + {"name": "LG_LT", + "title": "Send <", + "shortName": "RuEn\n<" + }, + {"name": "LG_GT", + "title": "Send >", + "shortName": "RuEn\n>" + }, + {"name": "LG_GRAVE", + "title": "Send `", + "shortName": "RuEn\n`" + }, + {"name": "LG_TILD", + "title": "Send ~", + "shortName": "RuEn\n~" + }, + {"name": "LG_AT", + "title": "Send @", + "shortName": "RuEn\n@" + }, + {"name": "LG_HASH", + "title": "Send #", + "shortName": "RuEn\n#" + }, + {"name": "LG_DLR", + "title": "Send $", + "shortName": "RuEn\n$" + }, + {"name": "LG_CIRC", + "title": "Send ^", + "shortName": "RuEn\n^" + }, + {"name": "LG_AMPR", + "title": "Send &", + "shortName": "RuEn\n&" + }, + {"name": "LG_PIPE", + "title": "Send |", + "shortName": "RuEn\n|" + }, + {"name": "LG_QUOTE", + "title": "Send '", + "shortName": "RuEn\n'" } ], "layouts":{ diff --git a/keyboards/ergohaven/velvet/keymaps/v2/vial.json b/keyboards/ergohaven/velvet/keymaps/v2/vial.json index e0045a39957..41d40e0904e 100755 --- a/keyboards/ergohaven/velvet/keymaps/v2/vial.json +++ b/keyboards/ergohaven/velvet/keymaps/v2/vial.json @@ -29,6 +29,130 @@ {"name": "LPREV", "title": "Switch to the previous layer", "shortName": "LPREV" + }, + {"name": "", + "title": "Not using", + "shortName": "" + }, + + {"name": "LG_TOGGLE", + "title": "Toggle language", + "shortName": "RuEn\nToggle" + }, + {"name": "LG_SYNC", + "title": "Sync language", + "shortName": "RuEn\nSync" + }, + {"name": "LG_SET_EN", + "title": "Set English language", + "shortName": "RuEn\nEn" + }, + {"name": "LG_SET_RU", + "title": "Toggle Russian language", + "shortName": "RuEn\nRu" + }, + + {"name": "LG_SET_GUI_SPC", + "title": "Set toggle languge to Win+Space", + "shortName": "RuEn\nWinSpc" + }, + {"name": "LG_SET_SFT_CTL", + "title": "Set toggle languge to Shift+Control", + "shortName": "RuEn\nSftCtl" + }, + {"name": "LG_SET_SFT_ALT", + "title": "Set toggle languge to Shift+Alt", + "shortName": "RuEn\nSftAlt" + }, + + {"name": "LG_DOT", + "title": "Send .", + "shortName": "RuEn\n." + }, + {"name": "LG_COMMA", + "title": "Send ,", + "shortName": "RuEn\n," + }, + {"name": "LG_SCLN", + "title": "Send ;", + "shortName": "RuEn\n;" + }, + {"name": "LG_COLON", + "title": "Send :", + "shortName": "RuEn\n:" + }, + {"name": "LG_DQUO", + "title": "Send \"", + "shortName": "RuEn\n\"" + }, + {"name": "LG_QUES", + "title": "Send ?", + "shortName": "RuEn\n?" + }, + {"name": "LG_SLASH", + "title": "Send /", + "shortName": "RuEn\n/" + }, + + {"name": "LG_LBR", + "title": "Send [", + "shortName": "RuEn\n[" + }, + {"name": "LG_RBR", + "title": "Send ]", + "shortName": "RuEn\n]" + }, + {"name": "LG_LCBR", + "title": "Send {", + "shortName": "RuEn\n{" + }, + {"name": "LG_RCBR", + "title": "Send }", + "shortName": "RuEn\n}" + }, + {"name": "LG_LT", + "title": "Send <", + "shortName": "RuEn\n<" + }, + {"name": "LG_GT", + "title": "Send >", + "shortName": "RuEn\n>" + }, + {"name": "LG_GRAVE", + "title": "Send `", + "shortName": "RuEn\n`" + }, + {"name": "LG_TILD", + "title": "Send ~", + "shortName": "RuEn\n~" + }, + {"name": "LG_AT", + "title": "Send @", + "shortName": "RuEn\n@" + }, + {"name": "LG_HASH", + "title": "Send #", + "shortName": "RuEn\n#" + }, + {"name": "LG_DLR", + "title": "Send $", + "shortName": "RuEn\n$" + }, + {"name": "LG_CIRC", + "title": "Send ^", + "shortName": "RuEn\n^" + }, + {"name": "LG_AMPR", + "title": "Send &", + "shortName": "RuEn\n&" + }, + {"name": "LG_PIPE", + "title": "Send |", + "shortName": "RuEn\n|" + }, + {"name": "LG_QUOTE", + "title": "Send '", + "shortName": "RuEn\n'" } ], "layouts": { diff --git a/users/ergohaven/ergohaven.c b/users/ergohaven/ergohaven.c index de9dfde287f..45500b07557 100644 --- a/users/ergohaven/ergohaven.c +++ b/users/ergohaven/ergohaven.c @@ -1,4 +1,5 @@ #include "ergohaven.h" +#include "lang_ru_en.h" #ifdef AUDIO_ENABLE float base_sound[][2] = SONG(TERMINAL_SOUND); @@ -6,7 +7,7 @@ float caps_sound[][2] = SONG(CAPS_LOCK_ON_SOUND); #endif bool is_alt_tab_active = false; -uint16_t alt_tab_timer = 0; +uint16_t alt_tab_timer = 0; @@ -43,7 +44,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { SEND_STRING(". "); #ifdef AUDIO_ENABLE PLAY_SONG(caps_sound); - #endif + #endif add_oneshot_mods(MOD_BIT(KC_LSFT)); // Set one-shot mod for shift. } return false; @@ -83,13 +84,13 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { if (record->event.pressed) { #ifdef AUDIO_ENABLE PLAY_SONG(caps_sound); - #endif - } + #endif + } return true; // Let QMK send the enter press/release events - + case LAYER_NEXT: // Our logic will happen on presses, nothing is done on releases - if (!record->event.pressed) { + if (!record->event.pressed) { // We've already handled the keycode (doing nothing), let QMK know so no further code is run unnecessarily return false; } @@ -110,7 +111,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { case LAYER_PREV: // Our logic will happen on presses, nothing is done on releases - if (!record->event.pressed) { + if (!record->event.pressed) { // We've already handled the keycode (doing nothing), let QMK know so no further code is run unnecessarily return false; } @@ -129,12 +130,42 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { layer_move(prev_layer); return false; default: - return true; // Process all other keycodes normally + return process_record_lang(keycode, record); } return process_record_keymap(keycode, record); } - +bool caps_word_press_user(uint16_t keycode) { + switch (keycode) { + // Keycodes for russian symbols + case KC_SCLN: + case KC_QUOT: + case KC_LBRC: + case KC_RBRC: + case KC_GRAVE: + if (get_cur_lang() == LANG_RU) { + add_weak_mods(MOD_BIT(KC_LSFT)); + return true; + } else + return false; + + // Keycodes that continue Caps Word, with shift applied. + case KC_A ... KC_Z: + case KC_MINS: + add_weak_mods(MOD_BIT(KC_LSFT)); // Apply shift to next key. + return true; + + // Keycodes that continue Caps Word, without shifting. + case KC_1 ... KC_0: + case KC_BSPC: + case KC_DEL: + case KC_UNDS: + return true; + + default: + return false; // Deactivate Caps Word. + } +} void matrix_scan_user(void) { // The very important timer. if (is_alt_tab_active) { diff --git a/users/ergohaven/lang_ru_en.c b/users/ergohaven/lang_ru_en.c new file mode 100644 index 00000000000..415277ab172 --- /dev/null +++ b/users/ergohaven/lang_ru_en.c @@ -0,0 +1,136 @@ +#include "lang_ru_en.h" + +static uint8_t cur_lang = LANG_EN; + +static uint8_t tg_mode = TG_SFT_ALT; + +void set_lang(uint8_t lang) { + if (cur_lang != lang) { + if (tg_mode == TG_GUI_SPC) { + add_oneshot_mods(MOD_BIT_LGUI); + tap_code(KC_SPC); + } else if (tg_mode == TG_SFT_CTL) { + register_mods(MOD_BIT_LSHIFT | MOD_BIT_LCTRL); + unregister_mods(MOD_BIT_LSHIFT | MOD_BIT_LCTRL); + } else if (tg_mode == TG_SFT_ALT) { + register_mods(MOD_BIT_LSHIFT | MOD_BIT_LALT); + unregister_mods(MOD_BIT_LSHIFT | MOD_BIT_LALT); + } + + cur_lang = lang; + } +} + +void lang_toggle(void) { + if (cur_lang == LANG_EN) + set_lang(LANG_RU); + else + set_lang(LANG_EN); +} + +void lang_sync(void) { + if (cur_lang == LANG_EN) + cur_lang = LANG_RU; + else + cur_lang = LANG_EN; +} + +void lang_sync_external(uint8_t lang) { + if (lang == LANG_EN) + cur_lang = LANG_EN; + else + cur_lang = LANG_RU; +} + +uint8_t get_cur_lang(void) { + return cur_lang; +} + +typedef struct { + uint16_t en; + uint16_t ru; +} ru_en_symbol; + +ru_en_symbol ru_en_table[] = { + {KC_DOT, KC_SLASH}, // LG_DOT + {KC_COMMA, LSFT(KC_SLASH)}, // LG_COMMA + {KC_SCLN, LSFT(KC_4)}, // LG_SCLN + {KC_COLON, LSFT(KC_6)}, // LG_COLON + {KC_DQUO, LSFT(KC_2)}, // LG_DQUO + {KC_QUES, LSFT(KC_7)}, // LG_QUES + {KC_SLASH, LSFT(KC_BSLS)}, // LG_SLASH +}; + +uint16_t en_table[] = { + KC_LBRC, // LG_LBR + KC_RBRC, // LG_RBR + KC_LCBR, // LG_LCBR + KC_RCBR, // LG_RCBR + KC_LT, // LG_LT + KC_GT, // LG_GT + KC_GRAVE, // LG_GRAVE + KC_TILD, // LG_TILD + KC_AT, // LG_AT + KC_HASH, // LG_HASH + KC_DLR, // LG_DLR + KC_CIRC, // LG_CIRC + KC_AMPR, // LG_AMPR + KC_PIPE, // LG_PIPE + KC_QUOT, // LG_QUOTE +}; + +bool process_record_lang(uint16_t keycode, keyrecord_t* record) { + switch (keycode) { + case LG_TOGGLE: + if (record->event.pressed) lang_toggle(); + return false; + + case LG_SYNC: + if (record->event.pressed) lang_sync(); + return false; + + case LG_SET_EN: + if (record->event.pressed) set_lang(LANG_EN); + return false; + + case LG_SET_RU: + if (record->event.pressed) set_lang(LANG_RU); + return false; + + case LG_SET_GUI_SPC: + tg_mode = TG_GUI_SPC; + return false; + + case LG_SET_SFT_CTL: + tg_mode = TG_SFT_CTL; + return false; + + case LG_SET_SFT_ALT: + tg_mode = TG_SFT_ALT; + return false; + } + + if (LG_RU_EN_START <= keycode && keycode < LG_EN_START) { + if (record->event.pressed) { + if (cur_lang == 0) + tap_code16(ru_en_table[keycode - LG_RU_EN_START].en); + else + tap_code16(ru_en_table[keycode - LG_RU_EN_START].ru); + } + return false; + } + + if (LG_EN_START <= keycode && keycode < LG_END) { + if (record->event.pressed) { + if (record->event.pressed) { + uint8_t lang = cur_lang; + set_lang(LANG_EN); + tap_code16(en_table[keycode - LG_EN_START]); + set_lang(lang); + } + } + return false; + } + + return true; +} \ No newline at end of file diff --git a/users/ergohaven/lang_ru_en.h b/users/ergohaven/lang_ru_en.h new file mode 100644 index 00000000000..ce822ce83b0 --- /dev/null +++ b/users/ergohaven/lang_ru_en.h @@ -0,0 +1,51 @@ +#pragma once +#include "ergohaven.h" + +enum lang_ru_en_custom_keycodes { + LG_TOGGLE = LAYER_PREV + 2, + LG_SYNC, + LG_SET_EN, + LG_SET_RU, + LG_SET_GUI_SPC, + LG_SET_SFT_CTL, + LG_SET_SFT_ALT, + + // symbols exist in russian and english layout + LG_RU_EN_START, + LG_DOT = LG_RU_EN_START, + LG_COMMA, + LG_SCLN, + LG_COLON, + LG_DQUO, + LG_QUES, + LG_SLASH, + + // symbols exist in english only layout + LG_EN_START, + LG_LBR = LG_EN_START, + LG_RBR, + LG_LCBR, + LG_RCBR, + LG_LT, + LG_GT, + LG_GRAVE, + LG_TILD, + LG_AT, + LG_HASH, + LG_DLR, + LG_CIRC, + LG_AMPR, + LG_PIPE, + LG_QUOTE, + LG_END, +}; + +enum { LANG_EN = 0, LANG_RU }; + +enum { TG_GUI_SPC = 0, TG_SFT_CTL, TG_SFT_ALT }; + +bool process_record_lang(uint16_t keycode, keyrecord_t *record); + +void lang_sync_external(uint8_t lang); + +uint8_t get_cur_lang(void); diff --git a/users/ergohaven/rules.mk b/users/ergohaven/rules.mk index 58301aba513..e32c105f5f1 100644 --- a/users/ergohaven/rules.mk +++ b/users/ergohaven/rules.mk @@ -1,4 +1,4 @@ -SRC += ergohaven.c +SRC += ergohaven.c lang_ru_en.c # Build Options