diff --git a/src/api/keymap/db.js b/src/api/keymap/db.js index fa9ffd5ed..20239176e 100644 --- a/src/api/keymap/db.js +++ b/src/api/keymap/db.js @@ -50,6 +50,9 @@ import german, { germanModifiedTables } from "./languages/german/german"; // French - is an Array of objects of values that have to be modified import french, { frenchModifiedTables } from "./languages/french/french"; +// French - is an Array of objects of values that have to be modified +import frenchBepo, { frenchBepoModifiedTables } from "./languages/french/frenchBepo"; + // Norwegian - is an Array of objects of values that have to be modified import norwegian, { norwegianModifiedTables } from "./languages/norwegian/norwegian"; @@ -122,6 +125,7 @@ const supportModifiedTables = { spanish: spanishModifiedTables, german: germanModifiedTables, french: frenchModifiedTables, + frenchBepo: frenchBepoModifiedTables, norwegian: norwegianModifiedTables, swedish: swedishModifiedTables, danish: danishModifiedTables, @@ -152,6 +156,7 @@ const languagesDB = { spanish, german, french, + frenchBepo, norwegian, swedish, danish, diff --git a/src/api/keymap/languages/french/frenchBepo.js b/src/api/keymap/languages/french/frenchBepo.js new file mode 100644 index 000000000..fd0be045c --- /dev/null +++ b/src/api/keymap/languages/french/frenchBepo.js @@ -0,0 +1,1219 @@ +/* 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 . + */ + +/** + * Is an Array of objects of values that have to be modified. + */ +import { withModifiers } from "../../db/utils"; + +const OFFSET_CONTROL = 256; +const OFFSET_ALT = 512; +const OFFSET_CONTROL_ALT = 768; +const OFFSET_ALTGR = 1024; +const OFFSET_SHIFT = 2048; +const OFFSET_OS = 4096; +const OFFSET_SHIFT_ALTGR = 3072; + +const symbols = [ + { + code: 53, + labels: { + primary: "$", + }, + }, + { + code: 30, + labels: { + primary: '"', + }, + }, + { + code: 31, + labels: { + primary: "«", + }, + }, + { + code: 32, + labels: { + primary: "»", + }, + }, + { + code: 33, + labels: { + primary: "(", + }, + }, + { + code: 34, + labels: { + primary: ")", + }, + }, + { + code: 35, + labels: { + primary: "@", + }, + }, + { + code: 36, + labels: { + primary: "+", + }, + }, + { + code: 37, + labels: { + primary: "-", + }, + }, + { + code: 38, + labels: { + primary: "/", + }, + }, + { + code: 39, + labels: { + primary: "*", + }, + }, + { + code: 45, + labels: { + primary: "=", + }, + }, + { + code: 46, + labels: { + primary: "%", + }, + }, +]; + +const frenchLetters = [ + // First row + { + code: 20, + labels: { + primary: "b", + }, + }, + { + code: 26, + labels: { + primary: "é", + }, + }, + { + code: 8, + labels: { + primary: "p", + }, + }, + { + code: 21, + labels: { + primary: "o", + }, + }, + { + code: 23, + labels: { + primary: "è", + }, + }, + { + code: 28, + labels: { + primary: "^", + }, + newGroupName: "Punctuation", + }, + { + code: 24, + labels: { + primary: "v", + }, + }, + { + code: 12, + labels: { + primary: "d", + }, + }, + { + code: 18, + labels: { + primary: "l", + }, + }, + { + code: 19, + labels: { + primary: "j", + }, + }, + { + code: 47, + labels: { + primary: "z", + }, + newGroupName: "Letters", + }, + { + code: 48, + labels: { + primary: "w", + }, + newGroupName: "Letters", + }, + // Second row + { + code: 4, + labels: { + primary: "a", + }, + }, + { + code: 22, + labels: { + primary: "u", + }, + }, + { + code: 7, + labels: { + primary: "i", + }, + }, + { + code: 9, + labels: { + primary: "e", + }, + }, + { + code: 10, + labels: { + primary: ",", + }, + newGroupName: "Punctuation", + }, + { + code: 11, + labels: { + primary: "c", + }, + }, + { + code: 13, + labels: { + primary: "t", + }, + }, + { + code: 14, + labels: { + primary: "s", + }, + }, + { + code: 15, + labels: { + primary: "r", + }, + }, + { + code: 51, + labels: { + primary: "n", + }, + newGroupName: "Letters", + }, + { + code: 52, + labels: { + primary: "m", + }, + newGroupName: "Letters", + }, + { + code: 49, + labels: { + primary: "ç", + }, + newGroupName: "Letters", + }, + // Third row + { + code: 100, + labels: { + primary: "ê", + }, + newGroupName: "Letters", + }, + { + code: 29, + labels: { + primary: "à", + }, + }, + { + code: 27, + labels: { + primary: "y", + }, + }, + { + code: 6, + labels: { + primary: "x", + }, + }, + { + code: 25, + labels: { + primary: ".", + }, + newGroupName: "Punctuation", + }, + { + code: 5, + labels: { + primary: "k", + }, + }, + { + code: 17, + labels: { + primary: "’", + }, + newGroupName: "Punctuation", + }, + { + code: 16, + labels: { + primary: "q", + }, + }, + { + code: 54, + labels: { + primary: "g", + }, + newGroupName: "Letters", + }, + { + code: 55, + labels: { + primary: "h", + }, + newGroupName: "Letters", + }, + { + code: 56, + labels: { + primary: "f", + }, + newGroupName: "Letters", + }, +]; + +const altGRFrench = { + groupName: "AltCtrl French", + keys: [ + // Numbers row + AltGr + { + code: OFFSET_ALTGR + 53, + labels: { + primary: "–", + }, + }, + { + code: OFFSET_ALTGR + 30, + labels: { + primary: "—", + }, + }, + { + code: OFFSET_ALTGR + 31, + labels: { + primary: "<", + }, + }, + { + code: OFFSET_ALTGR + 32, + labels: { + primary: ">", + }, + }, + { + code: OFFSET_ALTGR + 33, + labels: { + primary: "[", + }, + }, + { + code: OFFSET_ALTGR + 34, + labels: { + primary: "]", + }, + }, + { + code: OFFSET_ALTGR + 35, + labels: { + primary: "^", + }, + }, + { + code: OFFSET_ALTGR + 36, + labels: { + primary: "±", + }, + }, + { + code: OFFSET_ALTGR + 37, + labels: { + primary: "−", + }, + }, + { + code: OFFSET_ALTGR + 38, + labels: { + primary: "÷", + }, + }, + { + code: OFFSET_ALTGR + 39, + labels: { + primary: "×", + }, + }, + { + code: OFFSET_ALTGR + 45, + labels: { + primary: "≠", + }, + }, + // First row + { + code: OFFSET_ALTGR + 20, + labels: { + primary: "|", + }, + }, + { + code: OFFSET_ALTGR + 26, + labels: { + primary: "´", + }, + }, + { + code: OFFSET_ALTGR + 8, + labels: { + primary: "&", + }, + }, + { + code: OFFSET_ALTGR + 21, + labels: { + primary: "œ", + }, + }, + { + code: OFFSET_ALTGR + 23, + labels: { + primary: "`", + }, + }, + { + code: OFFSET_ALTGR + 28, + labels: { + primary: "¡", + }, + }, + { + code: OFFSET_ALTGR + 24, + labels: { + primary: "ˇ", + }, + }, + { + code: OFFSET_ALTGR + 12, + labels: { + primary: "∞", + }, + }, + { + code: OFFSET_ALTGR + 18, + labels: { + primary: "/", + }, + }, + { + code: OFFSET_ALTGR + 19, + labels: { + primary: "☮", + }, + }, + { + code: OFFSET_ALTGR + 47, + labels: { + primary: "–", + }, + newGroupName: "Letters", + }, + { + code: OFFSET_ALTGR + 48, + labels: { + primary: "⚜", + }, + newGroupName: "Letters", + }, + // Second row + { + code: OFFSET_ALTGR + 4, + labels: { + primary: "æ", + }, + }, + { + code: OFFSET_ALTGR + 22, + labels: { + primary: "ù", + }, + }, + { + code: OFFSET_ALTGR + 7, + labels: { + primary: "¨", + }, + }, + { + code: OFFSET_ALTGR + 9, + labels: { + primary: "€", + }, + }, + { + code: OFFSET_ALTGR + 10, + labels: { + primary: "'", + }, + newGroupName: "Punctuation", + }, + { + code: OFFSET_ALTGR + 11, + labels: { + primary: "¸", + }, + }, + { + code: OFFSET_ALTGR + 13, + labels: { + primary: "ᵉ", + }, + }, + { + code: OFFSET_ALTGR + 14, + labels: { + primary: "ß", + }, + }, + { + code: OFFSET_ALTGR + 15, + labels: { + primary: "˘", + }, + }, + { + code: OFFSET_ALTGR + 51, + labels: { + primary: "~", + }, + newGroupName: "Letters", + }, + { + code: OFFSET_ALTGR + 52, + labels: { + primary: "¯", + }, + newGroupName: "Letters", + }, + { + code: OFFSET_ALTGR + 49, + labels: { + primary: "✈", + }, + newGroupName: "Letters", + }, + // Third row + { + code: OFFSET_ALTGR + 100, + labels: { + primary: "/", + }, + newGroupName: "Letters", + }, + { + code: OFFSET_ALTGR + 29, + labels: { + primary: "\\", + }, + }, + { + code: OFFSET_ALTGR + 27, + labels: { + primary: "{", + }, + }, + { + code: OFFSET_ALTGR + 6, + labels: { + primary: "}", + }, + }, + { + code: OFFSET_ALTGR + 25, + labels: { + primary: "…", + }, + }, + { + code: OFFSET_ALTGR + 5, + labels: { + primary: "~", + }, + }, + { + code: OFFSET_ALTGR + 17, + labels: { + primary: "¿", + }, + newGroupName: "Punctuation", + }, + { + code: OFFSET_ALTGR + 16, + labels: { + primary: "°", + }, + }, + { + code: OFFSET_ALTGR + 54, + labels: { + primary: "µ", + }, + newGroupName: "Letters", + }, + { + code: OFFSET_ALTGR + 55, + labels: { + primary: ".", + }, + newGroupName: "Letters", + }, + { + code: OFFSET_ALTGR + 56, + labels: { + primary: "˛", + }, + newGroupName: "Letters", + }, + ], +}; + +const shiftedSymbols = { + groupName: "Shifted French", + keys: [ + { + code: 2078, + labels: { + primary: "1", + }, + newGroupName: "Digits", + }, + { + code: 2079, + labels: { + primary: "2", + }, + newGroupName: "Digits", + }, + { + code: 2080, + labels: { + primary: "3", + }, + newGroupName: "Digits", + }, + { + code: 2081, + labels: { + primary: "4", + }, + newGroupName: "Digits", + }, + { + code: 2082, + labels: { + primary: "5", + }, + newGroupName: "Digits", + }, + { + code: 2083, + labels: { + primary: "6", + }, + newGroupName: "Digits", + }, + { + code: 2084, + labels: { + primary: "7", + }, + newGroupName: "Digits", + }, + { + code: 2085, + labels: { + primary: "8", + }, + newGroupName: "Digits", + }, + { + code: 2086, + labels: { + primary: "9", + }, + newGroupName: "Digits", + }, + { + code: 2087, + labels: { + primary: "0", + }, + newGroupName: "Digits", + }, + { + code: 2093, + labels: { + primary: "°", + }, + }, + { + code: 2095, + labels: { + primary: "¨", + }, + }, + { + code: 2096, + labels: { + primary: "£", + }, + }, + { + code: 2097, + labels: { + primary: "µ", + }, + }, + { + code: 2099, + labels: { + primary: "M", + }, + }, + { + code: 2100, + labels: { + primary: "%", + }, + }, + { + code: 2064, + labels: { + primary: "?", + }, + }, + { + code: 2102, + labels: { + primary: ".", + }, + }, + { + code: 2103, + labels: { + primary: "/", + }, + }, + { + code: 2104, + labels: { + primary: "§", + }, + }, + { + code: 2148, + labels: { + primary: ">", + }, + }, + ], +}; + +const altCtrlFrench = { + groupName: "AltCtrl French", + keys: [ + { + code: OFFSET_CONTROL_ALT + 31, + labels: { + primary: "~", + }, + }, + { + code: OFFSET_CONTROL_ALT + 32, + labels: { + primary: "#", + }, + }, + { + code: OFFSET_CONTROL_ALT + 33, + labels: { + primary: "{", + }, + }, + { + code: OFFSET_CONTROL_ALT + 34, + labels: { + primary: "[", + }, + }, + { + code: OFFSET_CONTROL_ALT + 35, + labels: { + primary: "|", + }, + }, + { + code: OFFSET_CONTROL_ALT + 36, + labels: { + primary: "`", + }, + }, + { + code: OFFSET_CONTROL_ALT + 37, + labels: { + primary: "\\", + }, + }, + { + code: OFFSET_CONTROL_ALT + 38, + labels: { + primary: "^", + }, + }, + { + code: OFFSET_CONTROL_ALT + 39, + labels: { + primary: "@", + }, + }, + { + code: OFFSET_CONTROL_ALT + 45, + labels: { + primary: "]", + }, + }, + { + code: 814, + labels: { + primary: "}", + }, + }, + { + code: 776, + labels: { + primary: "€", + }, + }, + { + code: 816, + labels: { + primary: "¤", + }, + }, + ], +}; + +const tableAGrS = { + groupName: "AltGrShift French", + keys: [ + { + code: OFFSET_SHIFT_ALTGR + 53, + labels: { + primary: "", + }, + }, + { + code: OFFSET_SHIFT_ALTGR + 30, + labels: { + primary: "„", + }, + }, + { + code: OFFSET_SHIFT_ALTGR + 31, + labels: { + primary: "“", + }, + }, + { + code: OFFSET_SHIFT_ALTGR + 32, + labels: { + primary: "”", + }, + }, + { + code: OFFSET_SHIFT_ALTGR + 33, + labels: { + primary: "⩽", + }, + }, + { + code: OFFSET_SHIFT_ALTGR + 34, + labels: { + primary: "⩾", + }, + }, + { + code: OFFSET_SHIFT_ALTGR + 36, + labels: { + primary: "¬", + }, + }, + { + code: OFFSET_SHIFT_ALTGR + 37, + labels: { + primary: "¼", + }, + }, + { + code: OFFSET_SHIFT_ALTGR + 38, + labels: { + primary: "½", + }, + }, + { + code: OFFSET_SHIFT_ALTGR + 39, + labels: { + primary: "¾", + }, + }, + { + code: OFFSET_SHIFT_ALTGR + 45, + labels: { + primary: "′", + }, + }, + { + code: OFFSET_SHIFT_ALTGR + 46, + labels: { + primary: "″", + }, + }, + // First row + { + code: OFFSET_SHIFT_ALTGR + 20, + labels: { + primary: "_", + }, + }, + { + code: OFFSET_SHIFT_ALTGR + 26, + labels: { + primary: "♥", + }, + }, + { + code: OFFSET_SHIFT_ALTGR + 8, + labels: { + primary: "§", + }, + }, + { + code: OFFSET_SHIFT_ALTGR + 21, + labels: { + primary: "Œ", + }, + }, + { + code: OFFSET_SHIFT_ALTGR + 23, + labels: { + primary: "`", + }, + }, + { + code: OFFSET_SHIFT_ALTGR + 18, + labels: { + primary: "£", + }, + }, + // Second row + { + code: OFFSET_SHIFT_ALTGR + 4, + labels: { + primary: "Æ", + }, + }, + { + code: OFFSET_SHIFT_ALTGR + 22, + labels: { + primary: "Ù", + }, + }, + { + code: OFFSET_SHIFT_ALTGR + 7, + labels: { + primary: "˙", + }, + }, + { + code: OFFSET_SHIFT_ALTGR + 9, + labels: { + primary: "¤", + }, + }, + { + code: OFFSET_SHIFT_ALTGR + 10, + labels: { + primary: ",", + }, + newGroupName: "Punctuation", + }, + { + code: OFFSET_SHIFT_ALTGR + 11, + labels: { + primary: "©", + }, + }, + { + code: OFFSET_SHIFT_ALTGR + 13, + labels: { + primary: "™", + }, + }, + { + code: OFFSET_SHIFT_ALTGR + 14, + labels: { + primary: "ſ", + }, + }, + { + code: OFFSET_SHIFT_ALTGR + 15, + labels: { + primary: "", + }, + }, + { + code: OFFSET_SHIFT_ALTGR + 51, + labels: { + primary: "⚓", + }, + newGroupName: "Letters", + }, + { + code: OFFSET_SHIFT_ALTGR + 49, + labels: { + primary: "🄯", + }, + newGroupName: "Letters", + }, + // Third row + { + code: OFFSET_SHIFT_ALTGR + 29, + labels: { + primary: "‚", + }, + }, + { + code: OFFSET_SHIFT_ALTGR + 27, + labels: { + primary: "‘", + }, + }, + { + code: OFFSET_SHIFT_ALTGR + 6, + labels: { + primary: "’", + }, + }, + { + code: OFFSET_SHIFT_ALTGR + 25, + labels: { + primary: "·", + }, + newGroupName: "Punctuation", + }, + { + code: OFFSET_SHIFT_ALTGR + 5, + labels: { + primary: "‑", + }, + }, + { + code: OFFSET_SHIFT_ALTGR + 17, + labels: { + primary: "̉", + }, + newGroupName: "Punctuation", + }, + { + code: OFFSET_SHIFT_ALTGR + 16, + labels: { + primary: "̛", + }, + }, + { + code: OFFSET_SHIFT_ALTGR + 54, + labels: { + primary: "†", + }, + newGroupName: "Letters", + }, + { + code: OFFSET_SHIFT_ALTGR + 55, + labels: { + primary: "‡", + }, + newGroupName: "Letters", + }, + ], +}; + +const frenchBepo = frenchLetters.concat(symbols); + +const table = { keys: frenchBepo }; +const tableWithoutModifier = { keys: frenchLetters }; + +const frenchCtrlTable = withModifiers(table, "Control +", "C+", OFFSET_CONTROL); +const frenchLAltTable = withModifiers(table, "Alt +", "A+", OFFSET_ALT); +const frenchRAltTable = withModifiers(table, "AltGr +", "AGr+", OFFSET_ALTGR); +const frenchShiftTable = withModifiers(tableWithoutModifier, "Shift +", "S+", OFFSET_SHIFT); +const frenchGuiTable = withModifiers(table, "Os+", "O+", OFFSET_OS); + +// Double +const frenchCATable = withModifiers(table, "Control + Alt +", "C+A+", OFFSET_CONTROL_ALT); +const frenchCAGrTable = withModifiers(table, "Control + AltGr +", "C+AGr+", 1280); +const frenchCSTable = withModifiers(table, "Control + Shift +", "C+S+", 2304); +const frenchCGTable = withModifiers(table, "Control + Os +", "C+O+", 4352); +const frenchAAGrTable = withModifiers(table, "Alt + AltGr +", "A+AGr+", 1536); +const frenchASTable = withModifiers(table, "Alt + Shift +", "A+S+", 2560); +const frenchAGTable = withModifiers(table, "Alt + Os +", "A+O+", 4608); +const frenchAGrSTable = withModifiers(tableAGrS, "AltGr + Shift +", "AGr+S+", 3072); +const frenchAGrGTable = withModifiers(table, "AltGr + Os +", "AGr+O+", 5120); +const frenchSGTable = withModifiers(table, "Shift + Os +", "S+O+", 6144); + +// Triple +const frenchCAAGTable = withModifiers(table, "Control + Alt + AltGr +", "C+A+AGr+", 1792); +const frenchCASTable = withModifiers(tableAGrS, "Meh +", "Meh+", 2816); +const frenchCAGTable = withModifiers(table, "Control + Alt + Os +", "C+A+O+", 4864); +const frenchCAGSTable = withModifiers(tableAGrS, "Control + AltGr + Shift +", "C+AGr+S+", 3328); +const frenchCAGGTable = withModifiers(table, "Control + AltGr + Os +", "C+AGr+O+", 5376); +const frenchCSGTable = withModifiers(table, "Control + Shift + Os +", "C+S+O+", 6400); +const frenchAAGSTable = withModifiers(tableAGrS, "Alt + AltGr + Shift +", "A+AGr+S+", 3584); +const frenchAAGGTable = withModifiers(table, "Alt + AltGr + Os +", "A+AGr+O+", 5632); +const frenchASGTable = withModifiers(table, "Alt + Shift + Os +", "A+S+O+", 6656); +const frenchAGSGTable = withModifiers(tableAGrS, "AltGr + Shift + Os +", "AGr+S+O+", 7168); + +// Quad +const frenchCAAGrSTable = withModifiers(tableAGrS, "Meh + AltGr +", "M+AGr+", 3840); +const frenchCAAGrGTable = withModifiers(table, "Control + Alt + AltGr + Os +", "C+A+AGr+O+", 5888); +const frenchCAGrSGTable = withModifiers(tableAGrS, "Control + AltGr + Shift + Os +", "C+AGr+S+O+", 7424); +const frenchAAGrSGTable = withModifiers(tableAGrS, "Alt + AltGr + Shift + Os +", "A+AGr+S+O+", 7680); +const frenchAllModTable = withModifiers(tableAGrS, "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 frenchBepoModifiedTables = [ + shiftedSymbols, + frenchCtrlTable, + frenchLAltTable, + frenchRAltTable, + frenchShiftTable, + frenchGuiTable, + frenchCATable, + altCtrlFrench, + altGRFrench, + frenchCAGrTable, + frenchCSTable, + frenchCGTable, + frenchASTable, + frenchAGTable, + frenchAAGrTable, + frenchSGTable, + frenchAGrSTable, + frenchAGrGTable, + frenchCAAGTable, + frenchCASTable, + frenchCAGTable, + frenchCAGSTable, + frenchCAGGTable, + frenchCSGTable, + frenchAAGSTable, + frenchAAGGTable, + frenchASGTable, + frenchAGSGTable, + frenchCAAGrSTable, + frenchCAAGrGTable, + withModifiers(table, "Hyper +", "Hyper+", 6912), + frenchCAGrSGTable, + frenchAAGrSGTable, + frenchAllModTable, + DualUseCtrlTable, + DualUseShiftTable, + DualUseAltTable, + DualUseGuiTable, + DualUseAltGrTable, + DualUseLayer1Tables, + DualUseLayer2Tables, + DualUseLayer3Tables, + DualUseLayer4Tables, + DualUseLayer5Tables, + DualUseLayer6Tables, + DualUseLayer7Tables, + DualUseLayer8Tables, +]; + +export { frenchBepo as default, frenchBepoModifiedTables }; diff --git a/src/renderer/modules/KeyPickerKeyboard/FR-BEPO.json b/src/renderer/modules/KeyPickerKeyboard/FR-BEPO.json new file mode 100644 index 000000000..f80de7af6 --- /dev/null +++ b/src/renderer/modules/KeyPickerKeyboard/FR-BEPO.json @@ -0,0 +1,1730 @@ +[ + { + "id": 41, + "x": 0, + "y": 0, + "centered": true, + "icon": false, + "idArray": "", + "iconname": "", + "content": { + "type": "1UT", + "first": "Échap", + "second": "", + "third": "", + "fourth": "" + } + }, + { + "id": 58, + "x": 70, + "y": 0, + "centered": true, + "icon": false, + "idArray": "", + "iconname": "", + "content": { + "type": "1UT", + "first": "F1", + "second": "", + "third": "", + "fourth": "" + } + }, + { + "id": 59, + "x": 119, + "y": 0, + "centered": true, + "icon": false, + "idArray": "", + "iconname": "", + "content": { + "type": "1UT", + "first": "F2", + "second": "", + "third": "", + "fourth": "" + } + }, + { + "id": 60, + "x": 168, + "y": 0, + "centered": true, + "icon": false, + "idArray": "", + "iconname": "", + "content": { + "type": "1UT", + "first": "F3", + "second": "", + "third": "", + "fourth": "" + } + }, + { + "id": 61, + "x": 218, + "y": 0, + "centered": true, + "icon": false, + "idArray": "", + "iconname": "", + "content": { + "type": "1UT", + "first": "F4", + "second": "", + "third": "", + "fourth": "" + } + }, + { + "id": 62, + "x": 287, + "y": 0, + "centered": true, + "icon": false, + "idArray": "", + "iconname": "", + "content": { + "type": "1UT", + "first": "F5", + "second": "", + "third": "", + "fourth": "" + } + }, + { + "id": 63, + "x": 336, + "y": 0, + "centered": true, + "icon": false, + "idArray": "", + "iconname": "", + "content": { + "type": "1UT", + "first": "F6", + "second": "", + "third": "", + "fourth": "" + } + }, + { + "id": 64, + "x": 385, + "y": 0, + "centered": true, + "icon": false, + "idArray": "", + "iconname": "", + "content": { + "type": "1UT", + "first": "F7", + "second": "", + "third": "", + "fourth": "" + } + }, + { + "id": 65, + "x": 435, + "y": 0, + "centered": true, + "icon": false, + "idArray": "", + "iconname": "", + "content": { + "type": "1UT", + "first": "F8", + "second": "", + "third": "", + "fourth": "" + } + }, + { + "id": 66, + "x": 503, + "y": 0, + "centered": true, + "icon": false, + "idArray": "", + "iconname": "", + "content": { + "type": "1UT", + "first": "F9", + "second": "", + "third": "", + "fourth": "" + } + }, + { + "id": 67, + "x": 552, + "y": 0, + "centered": true, + "icon": false, + "idArray": "", + "iconname": "", + "content": { + "type": "1UT", + "first": "F10", + "second": "", + "third": "", + "fourth": "" + } + }, + { + "id": 68, + "x": 601, + "y": 0, + "centered": true, + "icon": false, + "idArray": "", + "iconname": "", + "content": { + "type": "1UT", + "first": "F11", + "second": "", + "third": "", + "fourth": "" + } + }, + { + "id": 69, + "x": 651, + "y": 0, + "centered": true, + "icon": false, + "idArray": "", + "iconname": "", + "content": { + "type": "1UT", + "first": "F12", + "second": "", + "third": "", + "fourth": "" + } + }, + { + "id": 70, + "x": 715, + "y": 38, + "centered": true, + "icon": false, + "idArray": "", + "iconname": "", + "content": { + "type": "specialBlock", + "first": "Impr.", + "second": "écran", + "third": "", + "fourth": "" + } + }, + { + "id": 71, + "x": 765, + "y": 38, + "centered": true, + "icon": false, + "idArray": "", + "iconname": "", + "content": { + "type": "specialBlock", + "first": "Arrêt", + "second": "défil.", + "third": "", + "fourth": "" + } + }, + { + "id": 72, + "x": 814, + "y": 38, + "centered": true, + "icon": false, + "idArray": "", + "iconname": "", + "content": { + "type": "specialBlock", + "first": "Pause", + "second": "Attn", + "third": "", + "fourth": "" + } + }, + { + "id": 83, + "x": 877, + "y": 38, + "centered": true, + "icon": false, + "idArray": "", + "iconname": "", + "content": { + "type": "block", + "first": "Num", + "second": "Lock", + "third": "", + "fourth": "" + } + }, + { + "id": 84, + "x": 926, + "y": 38, + "centered": true, + "icon": false, + "idArray": "", + "iconname": "", + "content": { + "type": "block", + "first": "/", + "second": "", + "third": "", + "fourth": "" + } + }, + { + "id": 85, + "x": 975, + "y": 38, + "centered": true, + "icon": false, + "idArray": "", + "iconname": "", + "content": { + "type": "block", + "first": "*", + "second": "", + "third": "", + "fourth": "" + } + }, + { + "id": 86, + "x": 1024, + "y": 38, + "centered": true, + "icon": false, + "idArray": "", + "iconname": "", + "content": { + "type": "block", + "first": "-", + "second": "", + "third": "", + "fourth": "" + } + }, + { + "id": 53, + "x": 0, + "y": 38, + "centered": false, + "icon": false, + "idArray": "", + "iconname": "", + "content": { + "type": "1US", + "first": "$", + "second": "#", + "third": "–", + "fourth": "¶" + } + }, + { + "id": 30, + "x": 49, + "y": 38, + "centered": false, + "icon": false, + "idArray": "", + "iconname": "", + "content": { + "type": "1US", + "first": "\"", + "second": "1", + "third": "—", + "fourth": "„" + } + }, + { + "id": 31, + "x": 98, + "y": 38, + "centered": false, + "icon": false, + "idArray": "", + "iconname": "", + "content": { + "type": "1US", + "first": "«", + "second": "2", + "third": "<", + "fourth": "“" + } + }, + { + "id": 32, + "x": 147, + "y": 38, + "centered": false, + "icon": false, + "idArray": "", + "iconname": "", + "content": { + "type": "1US", + "first": "»", + "second": "3", + "third": ">", + "fourth": "”" + } + }, + { + "id": 33, + "x": 196, + "y": 38, + "centered": false, + "icon": false, + "idArray": "", + "iconname": "", + "content": { + "type": "1US", + "first": "(", + "second": "4", + "third": "[", + "fourth": "⩽" + } + }, + { + "id": 34, + "x": 245, + "y": 38, + "centered": false, + "icon": false, + "idArray": "", + "iconname": "", + "content": { + "type": "1US", + "first": ")", + "second": "5", + "third": "]", + "fourth": "⩾" + } + }, + { + "id": 35, + "x": 294, + "y": 38, + "centered": false, + "icon": false, + "idArray": "", + "iconname": "", + "content": { + "type": "1US", + "first": "@", + "second": "6", + "third": "^", + "fourth": "⚠" + } + }, + { + "id": 36, + "x": 343, + "y": 38, + "centered": false, + "icon": false, + "idArray": "", + "iconname": "", + "content": { + "type": "1US", + "first": "+", + "second": "7", + "third": "±", + "fourth": "¬" + } + }, + { + "id": 37, + "x": 392, + "y": 38, + "centered": false, + "icon": false, + "idArray": "", + "iconname": "", + "content": { + "type": "1US", + "first": "-", + "second": "8", + "third": "−", + "fourth": "¼" + } + }, + { + "id": 38, + "x": 441, + "y": 38, + "centered": false, + "icon": false, + "idArray": "", + "iconname": "", + "content": { + "type": "1US", + "first": "/", + "second": "9", + "third": "÷", + "fourth": "½" + } + }, + { + "id": 39, + "x": 490, + "y": 38, + "centered": false, + "icon": false, + "idArray": "", + "iconname": "", + "content": { + "type": "1US", + "first": "*", + "second": "0", + "third": "×", + "fourth": "¾" + } + }, + { + "id": 45, + "x": 539, + "y": 38, + "centered": false, + "icon": false, + "idArray": "", + "iconname": "", + "content": { + "type": "1US", + "first": "=", + "second": "°", + "third": "≠", + "fourth": "′" + } + }, + { + "id": 46, + "x": 588, + "y": 38, + "centered": false, + "icon": false, + "idArray": "", + "iconname": "", + "content": { + "type": "1US", + "first": "%", + "second": "`", + "third": "‰", + "fourth": "″" + } + }, + { + "id": 42, + "x": 637, + "y": 38, + "centered": true, + "icon": true, + "iconsize": 16, + "iconx": 655, + "icony": 40, + "idArray": "", + "iconname": "Backspace", + "content": { + "type": "1U2", + "first": "", + "second": "", + "third": "", + "fourth": "" + } + }, + { + "id": 73, + "x": 715, + "y": 73, + "centered": true, + "icon": false, + "idArray": "", + "iconname": "", + "content": { + "type": "specialBlock", + "first": "Ins", + "second": "", + "third": "", + "fourth": "" + } + }, + { + "id": 74, + "x": 765, + "y": 73, + "centered": true, + "icon": false, + "idArray": "", + "iconname": "", + "content": { + "type": "specialBlock", + "first": "Home", + "second": "", + "third": "", + "fourth": "" + } + }, + { + "id": 75, + "x": 814, + "y": 73, + "centered": true, + "icon": false, + "idArray": "", + "iconname": "", + "content": { + "type": "specialBlock", + "first": "Page", + "second": "Up", + "third": "", + "fourth": "" + } + }, + { + "id": 95, + "x": 877, + "y": 73, + "centered": true, + "icon": false, + "idArray": "", + "iconname": "", + "content": { + "type": "block", + "first": "7", + "second": "Home", + "third": "", + "fourth": "" + } + }, + { + "id": 96, + "x": 926, + "y": 73, + "centered": true, + "icon": false, + "idArray": "", + "iconname": "", + "content": { + "type": "block", + "first": "8", + "second": "↑", + "third": "", + "fourth": "" + } + }, + { + "id": 97, + "x": 975, + "y": 73, + "centered": true, + "icon": false, + "idArray": "", + "iconname": "", + "content": { + "type": "block", + "first": "9", + "second": "PgUp", + "third": "", + "fourth": "" + } + }, + { + "id": 87, + "x": 1024, + "y": 73, + "centered": true, + "icon": false, + "idArray": "", + "iconname": "", + "content": { + "type": "longBlock", + "first": "+", + "second": "", + "third": "", + "fourth": "" + } + }, + { + "id": 43, + "x": 0, + "y": 73, + "centered": true, + "icon": true, + "iconsize": 15, + "iconx": 21, + "icony": 75, + "idArray": "", + "iconname": "Tab", + "content": { + "type": "1U2", + "first": "", + "second": "", + "third": "", + "fourth": "" + } + }, + { + "id": 20, + "x": 62, + "y": 73, + "centered": false, + "icon": false, + "idArray": "", + "iconname": "", + "content": { + "type": "1US", + "first": "b", + "second": "B", + "third": "|", + "fourth": "_" + } + }, + { + "id": 26, + "x": 111, + "y": 73, + "centered": false, + "icon": false, + "idArray": "", + "iconname": "", + "content": { + "type": "1US", + "first": "é", + "second": "É", + "third": "´", + "fourth": "" + } + }, + { + "id": 8, + "x": 160, + "y": 73, + "centered": false, + "icon": false, + "idArray": "", + "iconname": "", + "content": { + "type": "1US", + "first": "p", + "second": "P", + "third": "&", + "fourth": "§" + } + }, + { + "id": 21, + "x": 209, + "y": 73, + "centered": false, + "icon": false, + "idArray": "", + "iconname": "", + "content": { + "type": "1US", + "first": "o", + "second": "O", + "third": "œ", + "fourth": "Œ" + } + }, + { + "id": 23, + "x": 258, + "y": 73, + "centered": false, + "icon": false, + "idArray": "", + "iconname": "", + "content": { + "type": "1US", + "first": "è", + "second": "È", + "third": "`", + "fourth": "`" + } + }, + { + "id": 28, + "x": 307, + "y": 73, + "centered": false, + "icon": false, + "idArray": "", + "iconname": "", + "content": { + "type": "1US", + "first": "^", + "second": "!", + "third": "¡", + "fourth": "" + } + }, + { + "id": 24, + "x": 356, + "y": 73, + "centered": false, + "icon": false, + "idArray": "", + "iconname": "", + "content": { + "type": "1US", + "first": "v", + "second": "V", + "third": "ˇ", + "fourth": "" + } + }, + { + "id": 12, + "x": 405, + "y": 73, + "centered": false, + "icon": false, + "idArray": "", + "iconname": "", + "content": { + "type": "1US", + "first": "d", + "second": "D", + "third": "∞", + "fourth": "" + } + }, + { + "id": 18, + "x": 454, + "y": 73, + "centered": false, + "icon": false, + "idArray": "", + "iconname": "", + "content": { + "type": "1US", + "first": "l", + "second": "L", + "third": "/", + "fourth": "£" + } + }, + { + "id": 19, + "x": 503, + "y": 73, + "centered": false, + "icon": false, + "idArray": "", + "iconname": "", + "content": { + "type": "1US", + "first": "j", + "second": "J", + "third": "", + "fourth": "" + } + }, + { + "id": 47, + "x": 552, + "y": 73, + "centered": false, + "icon": false, + "idArray": "", + "iconname": "", + "content": { + "type": "1US", + "first": "z", + "second": "Z", + "third": "-", + "fourth": "" + } + }, + { + "id": 48, + "x": 601, + "y": 73, + "centered": false, + "icon": false, + "idArray": "", + "iconname": "", + "content": { + "type": "1US", + "first": "w", + "second": "W", + "third": "", + "fourth": "" + } + }, + { + "id": 40, + "x": 653, + "y": 73, + "centered": true, + "icon": true, + "iconsize": 20, + "iconx": 660, + "icony": 73, + "idArray": "", + "iconname": "Enter", + "content": { + "type": "enter", + "first": "", + "second": "", + "third": "", + "fourth": "" + } + }, + { + "id": 76, + "x": 715, + "y": 108, + "centered": true, + "icon": false, + "idArray": "", + "iconname": "", + "content": { + "type": "specialBlock", + "first": "Suppr.", + "second": "", + "third": "", + "fourth": "" + } + }, + { + "id": 77, + "x": 765, + "y": 108, + "centered": true, + "icon": false, + "idArray": "", + "iconname": "", + "content": { + "type": "specialBlock", + "first": "Fin", + "second": "", + "third": "", + "fourth": "" + } + }, + { + "id": 78, + "x": 814, + "y": 108, + "centered": true, + "icon": false, + "idArray": "", + "iconname": "", + "content": { + "type": "specialBlock", + "first": "Page", + "second": "Dwn", + "third": "", + "fourth": "" + } + }, + { + "id": 57, + "x": 0, + "y": 108, + "centered": true, + "icon": true, + "iconsize": 22, + "iconx": 22, + "icony": 105, + "idArray": "", + "iconname": "CapsLock", + "content": { + "type": "1U5", + "first": "", + "second": "", + "third": "", + "fourth": "" + } + }, + { + "id": 4, + "x": 70, + "y": 108, + "centered": false, + "icon": false, + "idArray": "", + "iconname": "", + "content": { + "type": "1US", + "first": "a", + "second": "A", + "third": "æ", + "fourth": "Æ" + } + }, + { + "id": 22, + "x": 119, + "y": 108, + "centered": false, + "icon": false, + "idArray": "", + "iconname": "", + "content": { + "type": "1US", + "first": "u", + "second": "U", + "third": "ù", + "fourth": "Ù" + } + }, + { + "id": 7, + "x": 168, + "y": 108, + "centered": false, + "icon": false, + "idArray": "", + "iconname": "", + "content": { + "type": "1US", + "first": "i", + "second": "I", + "third": "¨", + "fourth": "˙" + } + }, + { + "id": 9, + "x": 218, + "y": 108, + "centered": false, + "icon": false, + "idArray": "", + "iconname": "", + "content": { + "type": "1US", + "first": "e", + "second": "E", + "third": "€", + "fourth": "¤" + } + }, + { + "id": 10, + "x": 267, + "y": 108, + "centered": false, + "icon": false, + "idArray": "", + "iconname": "", + "content": { + "type": "1US", + "first": ",", + "second": ";", + "third": "'", + "fourth": "," + } + }, + { + "id": 11, + "x": 316, + "y": 108, + "centered": false, + "icon": false, + "idArray": "", + "iconname": "", + "content": { + "type": "1US", + "first": "c", + "second": "C", + "third": "¸", + "fourth": "©" + } + }, + { + "id": 13, + "x": 365, + "y": 108, + "centered": false, + "icon": false, + "idArray": "", + "iconname": "", + "content": { + "type": "1US", + "first": "t", + "second": "T", + "third": "ᵉ", + "fourth": "™" + } + }, + { + "id": 14, + "x": 414, + "y": 108, + "centered": false, + "icon": false, + "idArray": "", + "iconname": "", + "content": { + "type": "1US", + "first": "s", + "second": "S", + "third": "ß", + "fourth": "ſ" + } + }, + { + "id": 15, + "x": 464, + "y": 108, + "centered": false, + "icon": false, + "idArray": "", + "iconname": "", + "content": { + "type": "1US", + "first": "r", + "second": "R", + "third": "˘", + "fourth": "®" + } + }, + { + "id": 51, + "x": 514, + "y": 108, + "centered": false, + "icon": false, + "idArray": "", + "iconname": "", + "content": { + "type": "1US", + "first": "n", + "second": "N", + "third": "~", + "fourth": "" + } + }, + { + "id": 52, + "x": 563, + "y": 108, + "centered": false, + "icon": false, + "idArray": "", + "iconname": "", + "content": { + "type": "1US", + "first": "m", + "second": "M", + "third": "¯", + "fourth": "" + } + }, + { + "id": 49, + "x": 612, + "y": 108, + "centered": false, + "icon": false, + "idArray": "", + "iconname": "", + "content": { + "type": "1US", + "first": "ç", + "second": "Ç", + "third": "", + "fourth": "" + } + }, + { + "id": 92, + "x": 877, + "y": 108, + "centered": true, + "icon": false, + "idArray": "", + "iconname": "", + "content": { + "type": "block", + "first": "4", + "second": "←", + "third": "", + "fourth": "" + } + }, + { + "id": 93, + "x": 926, + "y": 108, + "centered": true, + "icon": false, + "idArray": "", + "iconname": "", + "content": { + "type": "block", + "first": "5", + "second": "", + "third": "", + "fourth": "" + } + }, + { + "id": 94, + "x": 975, + "y": 108, + "centered": true, + "icon": false, + "idArray": "", + "iconname": "", + "content": { + "type": "block", + "first": "6", + "second": "→", + "third": "", + "fourth": "" + } + }, + { + "id": 225, + "x": 0, + "y": 143, + "centered": true, + "icon": true, + "iconsize": 18, + "iconx": 12, + "icony": 142, + "idArray": "", + "iconname": "Shift", + "content": { + "type": "1US", + "first": "", + "second": "", + "third": "", + "fourth": "" + }, + "mod": true + }, + { + "id": 100, + "x": 49, + "y": 143, + "centered": false, + "icon": false, + "idArray": "", + "iconname": "", + "content": { + "type": "1US", + "first": "ê", + "second": "Ê", + "third": "/", + "fourth": "^" + } + }, + { + "id": 29, + "x": 98, + "y": 143, + "centered": false, + "icon": false, + "idArray": "", + "iconname": "", + "content": { + "type": "1US", + "first": "à", + "second": "À", + "third": "\\", + "fourth": "‚" + } + }, + { + "id": 27, + "x": 147, + "y": 143, + "centered": false, + "icon": false, + "idArray": "", + "iconname": "", + "content": { + "type": "1US", + "first": "y", + "second": "Y", + "third": "{", + "fourth": "‘" + } + }, + { + "id": 6, + "x": 196, + "y": 143, + "centered": false, + "icon": false, + "idArray": "", + "iconname": "", + "content": { + "type": "1US", + "first": "x", + "second": "X", + "third": "}", + "fourth": "’" + } + }, + { + "id": 25, + "x": 246, + "y": 143, + "centered": false, + "icon": false, + "idArray": "", + "iconname": "", + "content": { + "type": "1US", + "first": ".", + "second": ":", + "third": "…", + "fourth": "·" + } + }, + { + "id": 5, + "x": 296, + "y": 143, + "centered": false, + "icon": false, + "idArray": "", + "iconname": "", + "content": { + "type": "1US", + "first": "k", + "second": "K", + "third": "~", + "fourth": "‑" + } + }, + { + "id": 17, + "x": 345, + "y": 143, + "centered": false, + "icon": false, + "idArray": "", + "iconname": "", + "content": { + "type": "1US", + "first": "’", + "second": "?", + "third": "¿", + "fourth": " ̉" + } + }, + { + "id": 16, + "x": 394, + "y": 143, + "centered": false, + "icon": false, + "idArray": "", + "iconname": "", + "content": { + "type": "1US", + "first": "q", + "second": "Q", + "third": "°", + "fourth": " ̛" + } + }, + { + "id": 54, + "x": 443, + "y": 143, + "centered": false, + "icon": false, + "idArray": "", + "iconname": "", + "content": { + "type": "1US", + "first": "g", + "second": "G", + "third": "µ", + "fourth": "†" + } + }, + { + "id": 55, + "x": 492, + "y": 143, + "centered": false, + "icon": false, + "idArray": "", + "iconname": "", + "content": { + "type": "1US", + "first": "h", + "second": "H", + "third": ".", + "fourth": "‡" + } + }, + { + "id": 56, + "x": 542, + "y": 143, + "centered": false, + "icon": false, + "idArray": "", + "iconname": "", + "content": { + "type": "1US", + "first": "f", + "second": "F", + "third": "˛", + "fourth": "" + } + }, + { + "id": 229, + "x": 592, + "y": 143, + "centered": true, + "icon": true, + "iconsize": 18, + "iconx": 630, + "icony": 142, + "idArray": "", + "iconname": "Shift", + "content": { + "type": "2U", + "first": "", + "second": "", + "third": "", + "fourth": "" + }, + "mod": true + }, + { + "id": 82, + "x": 765, + "y": 143, + "centered": true, + "icon": true, + "idArray": "", + "iconname": "ArrUp", + "content": { + "type": "specialBlock", + "first": "", + "second": "", + "third": "", + "fourth": "" + } + }, + { + "id": 89, + "x": 877, + "y": 143, + "centered": true, + "icon": false, + "idArray": "", + "iconname": "", + "content": { + "type": "block", + "first": "1", + "second": "End", + "third": "", + "fourth": "" + } + }, + { + "id": 90, + "x": 926, + "y": 143, + "centered": true, + "icon": false, + "idArray": "", + "iconname": "", + "content": { + "type": "block", + "first": "2", + "second": "↓", + "third": "", + "fourth": "" + } + }, + { + "id": 91, + "x": 975, + "y": 143, + "centered": true, + "icon": false, + "idArray": "", + "iconname": "", + "content": { + "type": "block", + "first": "3", + "second": "PgDw", + "third": "", + "fourth": "" + } + }, + { + "id": 88, + "x": 1024, + "y": 143, + "centered": true, + "icon": false, + "idArray": "", + "iconname": "", + "content": { + "type": "longBlock", + "first": "Enter", + "second": "", + "third": "", + "fourth": "" + } + }, + { + "id": 224, + "x": 0, + "y": 178, + "centered": true, + "icon": false, + "idArray": "", + "iconname": "", + "content": { + "type": "2U2", + "first": "Ctrl", + "second": "", + "third": "", + "fourth": "" + }, + "mod": true + }, + { + "id": 227, + "x": 59, + "y": 178, + "centered": true, + "icon": true, + "idArray": "", + "iconname": "Win", + "content": { + "type": "2U2", + "first": "", + "second": "", + "third": "", + "fourth": "" + }, + "mod": true + }, + { + "id": 226, + "x": 118, + "y": 178, + "centered": true, + "icon": false, + "idArray": "", + "iconname": "", + "content": { + "type": "2U2", + "first": "Alt", + "second": "", + "third": "", + "fourth": "" + }, + "mod": true + }, + { + "id": 44, + "x": 177, + "y": 178, + "centered": true, + "icon": true, + "iconsize": 20, + "iconx": 310, + "icony": 173, + "idArray": "", + "iconname": "Space", + "content": { + "type": "6U2", + "first": "", + "second": "", + "third": "", + "fourth": "" + } + }, + { + "id": 230, + "x": 463, + "y": 178, + "centered": true, + "icon": false, + "idArray": "", + "iconname": "", + "content": { + "type": "2U2", + "first": "Alt Gr", + "second": "", + "third": "", + "fourth": "" + }, + "mod": true + }, + { + "id": 231, + "x": 521, + "y": 178, + "centered": true, + "icon": true, + "idArray": "", + "iconname": "Win", + "content": { + "type": "2U2", + "first": "", + "second": "", + "third": "", + "fourth": "" + }, + "mod": true + }, + { + "id": 101, + "x": 580, + "y": 178, + "centered": true, + "icon": true, + "iconsize": 19, + "iconx": 584, + "icony": 176, + "idArray": "", + "iconname": "App", + "content": { + "type": "2U2", + "first": "", + "second": "", + "third": "", + "fourth": "" + } + }, + { + "id": 228, + "x": 639, + "y": 178, + "centered": true, + "icon": false, + "idArray": "", + "iconname": "", + "content": { + "type": "2U2", + "first": "Ctrl", + "second": "", + "third": "", + "fourth": "" + }, + "mod": true + }, + { + "id": 80, + "x": 715, + "y": 178, + "centered": true, + "icon": true, + "idArray": "", + "iconname": "ArrLeft", + "content": { + "type": "specialBlock", + "first": "", + "second": "", + "third": "", + "fourth": "" + } + }, + { + "id": 81, + "x": 765, + "y": 178, + "centered": true, + "icon": true, + "idArray": "", + "iconname": "ArrDwn", + "content": { + "type": "specialBlock", + "first": "", + "second": "", + "third": "", + "fourth": "" + } + }, + { + "id": 79, + "x": 814, + "y": 178, + "centered": true, + "icon": true, + "idArray": "", + "iconname": "ArrRight", + "content": { + "type": "specialBlock", + "first": "", + "second": "", + "third": "", + "fourth": "" + } + }, + { + "id": 98, + "x": 877, + "y": 178, + "centered": true, + "icon": false, + "idArray": "", + "iconname": "", + "content": { + "type": "wideBlock", + "first": "0", + "second": "Ins", + "third": "", + "fourth": "" + } + }, + { + "id": 99, + "x": 975, + "y": 178, + "centered": true, + "icon": false, + "idArray": "", + "iconname": "", + "content": { + "type": "block", + "first": ".", + "second": "Del", + "third": "", + "fourth": "" + } + }, + { + "id": 104, + "x": 715, + "y": 0, + "centered": true, + "icon": false, + "idArray": [104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115], + "iconname": "", + "content": { + "type": "specialBlockDropdown", + "first": "F13+", + "second": "", + "third": "", + "fourth": "" + } + } +] diff --git a/src/renderer/modules/KeyPickerKeyboard/KeyPicker.js b/src/renderer/modules/KeyPickerKeyboard/KeyPicker.js index a77064fcd..81b0b9787 100644 --- a/src/renderer/modules/KeyPickerKeyboard/KeyPicker.js +++ b/src/renderer/modules/KeyPickerKeyboard/KeyPicker.js @@ -88,6 +88,7 @@ import ENi from "@Renderer/modules/KeyPickerKeyboard/ENi.json"; import ENa from "@Renderer/modules/KeyPickerKeyboard/ENa.json"; import GR from "@Renderer/modules/KeyPickerKeyboard/GR.json"; import FR from "@Renderer/modules/KeyPickerKeyboard/FR.json"; +import FRBEPO from "@Renderer/modules/KeyPickerKeyboard/FR-BEPO.json"; import SW from "@Renderer/modules/KeyPickerKeyboard/SW.json"; import DN from "@Renderer/modules/KeyPickerKeyboard/DN.json"; import NW from "@Renderer/modules/KeyPickerKeyboard/NW.json"; @@ -252,7 +253,7 @@ width: 100%; } .KeysWrapper.super.notWireless { .keysContainerGrid { - grid-template-columns: repeat(12, 1fr); + grid-template-columns: repeat(12, 1fr); } .keysMacros { grid-area: 1 / 1 / 2 / 5; } .keysLayerLock { grid-area: 1 / 5 / 2 / 9; } @@ -403,6 +404,7 @@ class KeyPicker extends Component { spanish: ES, german: GR, french: FR, + frenchBepo: FRBEPO, swedish: SW, finnish: SW, danish: DN, diff --git a/src/renderer/modules/KeyPickerKeyboard/KeyPickerReduced.js b/src/renderer/modules/KeyPickerKeyboard/KeyPickerReduced.js index a21f5f44d..7556e2202 100644 --- a/src/renderer/modules/KeyPickerKeyboard/KeyPickerReduced.js +++ b/src/renderer/modules/KeyPickerKeyboard/KeyPickerReduced.js @@ -50,6 +50,7 @@ import ENi from "@Renderer/modules/KeyPickerKeyboard/ENi.json"; import ENa from "@Renderer/modules/KeyPickerKeyboard/ENa.json"; import GR from "@Renderer/modules/KeyPickerKeyboard/GR.json"; import FR from "@Renderer/modules/KeyPickerKeyboard/FR.json"; +import FRBEPO from "@Renderer/modules/KeyPickerKeyboard/FR-BEPO.json"; import SW from "@Renderer/modules/KeyPickerKeyboard/SW.json"; import DN from "@Renderer/modules/KeyPickerKeyboard/DN.json"; import NW from "@Renderer/modules/KeyPickerKeyboard/NW.json"; @@ -312,6 +313,7 @@ class KeyPickerReduced extends Component { spanish: ES, german: GR, french: FR, + frenchBepo: FRBEPO, swedish: SW, finnish: SW, danish: DN, diff --git a/src/renderer/modules/Settings/GeneralSettings.js b/src/renderer/modules/Settings/GeneralSettings.js index 4ec3e4360..2bccf4256 100644 --- a/src/renderer/modules/Settings/GeneralSettings.js +++ b/src/renderer/modules/Settings/GeneralSettings.js @@ -81,6 +81,7 @@ export default class GeneralSettings extends Component { spanishF, germanF, frenchF, + frenchF, swedishF, finnishF, danishF, @@ -97,6 +98,7 @@ export default class GeneralSettings extends Component { "spanish", "german", "french", + "frenchBepo", "swedish", "finnish", "danish", @@ -113,6 +115,7 @@ export default class GeneralSettings extends Component { "Spanish", "German", "French", + "French Bépo", "Swedish", "Finnish", "Danish",