Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
347 changes: 347 additions & 0 deletions src/api/keymap/languages/hr/HR.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,347 @@
/* Bazecor keymap library
* Copyright (C) 2019 DygmaLab SE
*
* 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, version 3.
*
* 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/>.
*/

/**
* Is an Array of objects of values that have to be modified.
*/

import { withModifiers, ModifierCodes } from "../../db/utils";
import { BaseKeycodeTableType, KeymapCodeTableType } from "../../types";

const hrHRLetters: KeymapCodeTableType[] = [];

const hrHRModifierKeys: KeymapCodeTableType[] = [
// R4
{
code: 49,
labels: {
primary: "<",
},
},
// R3 - Croatian letters
{
code: 47,
labels: {
primary: "š",
},
},
{
code: 48,
labels: {
primary: "đ",
},
},
// R2 - Croatian letters
{
code: 15,
labels: {
primary: "č",
},
},
{
code: 51,
labels: {
primary: "ć",
},
},
{
code: 52,
labels: {
primary: "ž",
},
},
// R1
{
code: 100,
labels: {
primary: "'",
},
},
];


const shiftModifier: BaseKeycodeTableType = {
groupName: "Shifted Croatian",
keys: [
// Croatian uppercase letters with Shift
{
code: ModifierCodes.SHIFT + 47,
labels: {
primary: "Š",
},
alt: true,
},
{
code: ModifierCodes.SHIFT + 48,
labels: {
primary: "Đ",
},
alt: true,
},
{
code: ModifierCodes.SHIFT + 15,
labels: {
primary: "Č",
},
alt: true,
},
{
code: ModifierCodes.SHIFT + 51,
labels: {
primary: "Ć",
},
alt: true,
},
{
code: ModifierCodes.SHIFT + 52,
labels: {
primary: "Ž",
},
alt: true,
},
],
};

const altGrModifier: BaseKeycodeTableType = {
groupName: "AltGr Croatian",
keys: [
// R4 - Number row with AltGr (Croatian Mac layout)
{
code: ModifierCodes.ALTGR + 30,
labels: {
primary: "©",
},
alt: true,
},
{
code: ModifierCodes.ALTGR + 31,
labels: {
primary: "™",
},
alt: true,
},
{
code: ModifierCodes.ALTGR + 32,
labels: {
primary: "£",
},
alt: true,
},
{
code: ModifierCodes.ALTGR + 33,
labels: {
primary: "¢",
},
alt: true,
},
{
code: ModifierCodes.ALTGR + 34,
labels: {
primary: "∞",
},
alt: true,
},
{
code: ModifierCodes.ALTGR + 35,
labels: {
primary: "§",
},
alt: true,
},
{
code: ModifierCodes.ALTGR + 36,
labels: {
primary: "¶",
},
alt: true,
},
{
code: ModifierCodes.ALTGR + 37,
labels: {
primary: "•",
},
alt: true,
},
{
code: ModifierCodes.ALTGR + 38,
labels: {
primary: "ª",
},
alt: true,
},
{
code: ModifierCodes.ALTGR + 39,
labels: {
primary: "º",
},
alt: true,
},
{
code: ModifierCodes.ALTGR + 45,
labels: {
primary: "–",
},
alt: true,
},
{
code: ModifierCodes.ALTGR + 46,
labels: {
primary: "≠",
},
alt: true,
},
// R3 - QWERTY row with AltGr (Croatian Mac layout style)
{
code: ModifierCodes.ALTGR + 47,
labels: {
primary: "{",
},
alt: true,
},
{
code: ModifierCodes.ALTGR + 48,
labels: {
primary: "}",
},
alt: true,
},
// R2 - ASDF row with AltGr
{
code: ModifierCodes.ALTGR + 51,
labels: {
primary: "[",
},
alt: true,
},
{
code: ModifierCodes.ALTGR + 52,
labels: {
primary: "]",
},
alt: true,
},
],
};

const hrHR = hrHRLetters.concat(hrHRModifierKeys);

const table: BaseKeycodeTableType = { keys: hrHR, groupName: "" };
const tableWithoutModifier: BaseKeycodeTableType = { keys: hrHRLetters, groupName: "" };

const hrHRCtrlTable = withModifiers(table, "Control +", "C+", 256);
const hrHRLAltTable = withModifiers(table, "Alt +", "A+", 512);
const hrHRRAltTable = withModifiers(table, "AltGr +", "AGr+", 1024);
const hrHRShiftTable = withModifiers(tableWithoutModifier, "Shift +", "S+", 2048);
const hrHRGuiTable = withModifiers(table, "Os+", "O+", 4096);

// Double

const hrHRCATable = withModifiers(table, "Control + Alt +", "C+A+", 768);
const hrHRCAGrTable = withModifiers(table, "Control + AltGr +", "C+AGr+", 1280);
const hrHRCSTable = withModifiers(table, "Control + Shift +", "C+S+", 2304);
const hrHRCGTable = withModifiers(table, "Control + Os +", "C+O+", 4352);
const hrHRAAGrTable = withModifiers(table, "Alt + AltGr +", "A+AGr+", 1536);
const hrHRASTable = withModifiers(table, "Alt + Shift +", "A+S+", 2560);
const hrHRAGTable = withModifiers(table, "Alt + Os +", "A+O+", 4608);
const hrHRAGrSTable = withModifiers(table, "AltGr + Shift +", "AGr+S+", 3072);
const hrHRAGrGTable = withModifiers(table, "AltGr + Os +", "AGr+O+", 5120);
const hrHRSGTable = withModifiers(table, "Shift + Os +", "S+O+", 6144);

// Triple

const hrHRCAAGTable = withModifiers(table, "Control + Alt + AltGr +", "C+A+AGr+", 1792);
const hrHRCASTable = withModifiers(table, "Meh +", "Meh+", 2816);
const hrHRCAGTable = withModifiers(table, "Control + Alt + Os +", "C+A+O+", 4864);
const hrHRCAGSTable = withModifiers(table, "Control + AltGr + Shift +", "C+AGr+S+", 3328);
const hrHRCAGGTable = withModifiers(table, "Control + AltGr + Os +", "C+AGr+O+", 5376);
const hrHRCsgTable = withModifiers(table, "Control + Shift + Os +", "C+S+O+", 6400);
const hrHRAAGSTable = withModifiers(table, "Alt + AltGr + Shift +", "A+AGr+S+", 3584);
const hrHRAAGGTable = withModifiers(table, "Alt + AltGr + Os +", "A+AGr+O+", 5632);
const hrHRASGTable = withModifiers(table, "Alt + Shift + Os +", "A+S+O+", 6656);
const hrHRAGSGTable = withModifiers(table, "AltGr + Shift + Os +", "AGr+S+O+", 7168);

// Quad

const hrHRCAAGrSTable = withModifiers(table, "Meh + AltGr +", "M+AGr+", 3840);
const hrHRCAAGrGTable = withModifiers(table, "Control + Alt + AltGr + Os +", "C+A+AGr+O+", 5888);
const hrHRCAGrSGTable = withModifiers(table, "Control + AltGr + Shift + Os +", "C+AGr+S+O+", 7424);
const hrHRAAGrSGTable = withModifiers(table, "Alt + AltGr + Shift + Os +", "A+AGr+S+O+", 7680);
const hrHRAllModTable = withModifiers(table, "Hyper + AltGr +", "H+AGr+", 7936);

const DualUseCtrlTable = withModifiers(table, "Control /", "CTRL/", 49169);
const DualUseShiftTable = withModifiers(table, "Shift /", "SHIFT/", 49425);
const DualUseAltTable = withModifiers(table, "Alt /", "ALT/", 49681);
const DualUseGuiTable = withModifiers(table, "Os /", "OS/", 49937);
const DualUseAltGrTable = withModifiers(table, "AltGr /", "ALTGR/", 50705);
const DualUseLayer1Tables = withModifiers(table, "Layer #1 /", "L#1/", 51218);
const DualUseLayer2Tables = withModifiers(table, "Layer #2 /", "L#2/", 51474);
const DualUseLayer3Tables = withModifiers(table, "Layer #3 /", "L#3/", 51730);
const DualUseLayer4Tables = withModifiers(table, "Layer #4 /", "L#4/", 51986);
const DualUseLayer5Tables = withModifiers(table, "Layer #5 /", "L#5/", 52242);
const DualUseLayer6Tables = withModifiers(table, "Layer #6 /", "L#6/", 52498);
const DualUseLayer7Tables = withModifiers(table, "Layer #7 /", "L#7/", 52754);
const DualUseLayer8Tables = withModifiers(table, "Layer #8 /", "L#8/", 53010);

const hrHRModifiedTables = [
shiftModifier,
altGrModifier,
hrHRCtrlTable,
hrHRLAltTable,
hrHRRAltTable,
hrHRShiftTable,
hrHRGuiTable,
hrHRCATable,
hrHRCAGrTable,
hrHRCSTable,
hrHRCGTable,
hrHRAAGrTable,
hrHRASTable,
hrHRAGTable,
hrHRAGrSTable,
hrHRAGrGTable,
hrHRSGTable,
hrHRCAAGTable,
hrHRCASTable,
hrHRCAGTable,
hrHRCAGSTable,
hrHRCAGGTable,
hrHRCsgTable,
hrHRAAGSTable,
hrHRAAGGTable,
hrHRASGTable,
hrHRAGSGTable,
hrHRCAAGrSTable,
hrHRCAAGrGTable,
withModifiers(table, "Hyper +", "Hyper+", 6912),
hrHRCAGrSGTable,
hrHRAAGrSGTable,
hrHRAllModTable,
DualUseCtrlTable,
DualUseShiftTable,
DualUseAltTable,
DualUseGuiTable,
DualUseAltGrTable,
DualUseLayer1Tables,
DualUseLayer2Tables,
DualUseLayer3Tables,
DualUseLayer4Tables,
DualUseLayer5Tables,
DualUseLayer6Tables,
DualUseLayer7Tables,
DualUseLayer8Tables,
];

export { hrHR, hrHRModifiedTables };
3 changes: 3 additions & 0 deletions src/api/keymap/languages/languageLayouts.ts
Original file line number Diff line number Diff line change
Expand Up @@ -94,6 +94,7 @@ import { ruRU, ruRUModifiedTables} from "./ru/RU";
import { deCH, deCHModifiedTables } from "./de/CH";
import { esMX, esMXModifiedTables } from "./es/MX";
import { itIT, itITModifiedTables } from "./it/IT";
import { hrHR, hrHRModifiedTables } from "./hr/HR";

// Dygma - Layouts (community/third-party)
import { enXXeurkey, enXXeurkeyModifiedTables } from "./en/XX-eurkey";
Expand Down Expand Up @@ -121,6 +122,7 @@ const supportModifiedTables = {
"ru-RU": ruRUModifiedTables,
"de-CH": deCHModifiedTables,
"it-IT": itITModifiedTables,
"hr-HR": hrHRModifiedTables,
// Community
"en-XX-eurkey": enXXeurkeyModifiedTables,
"fr-XX-bepo": frXXbepoModifiedTables,
Expand Down Expand Up @@ -150,6 +152,7 @@ const languages: {
"ru-RU": ruRU,
"de-CH": deCH,
"it-IT": itIT,
"hr-HR": hrHR,
// Community
"en-XX-eurkey": enXXeurkey,
"fr-XX-bepo": frXXbepo,
Expand Down
4 changes: 4 additions & 0 deletions src/renderer/modules/KeyPickerKeyboard/KeyPickerLanguage.ts
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,7 @@ import koKR from "@Renderer/modules/KeyPickerKeyboard/languages/ko/KR.json";
import plPL from "@Renderer/modules/KeyPickerKeyboard/languages/pl/PL.json";
import ruRU from "@Renderer/modules/KeyPickerKeyboard/languages/ru/RU.json";
import deCH from "@Renderer/modules/KeyPickerKeyboard/languages/de/CH.json";
import hrHR from "@Renderer/modules/KeyPickerKeyboard/languages/hr/HR.json";

// Dygma - Layouts (community/third-party)
import enXXeurkey from "@Renderer/modules/KeyPickerKeyboard/languages/en/XX-eurkey.json";
Expand Down Expand Up @@ -96,6 +97,8 @@ const languages: { [key in LangOptions]: Array<KeyProps> } = {
"ru-RU": ruRU,
"de-CH": deCH,
"es-MX": esMX,
"hr-HR": hrHR,
// Community
// Community
"en-XX-eurkey": enXXeurkey,
"fr-XX-bepo": frXXbepo,
Expand All @@ -121,6 +124,7 @@ export type LangOptions =
| "pl-PL"
| "ru-RU"
| "de-CH"
| "hr-HR"
| "en-XX-eurkey"
| "fr-XX-bepo"
| "fr-XX-optimot"
Expand Down
Loading