From 1f1c87902b46b792d639ee99f9ebccf2685e3516 Mon Sep 17 00:00:00 2001 From: Alejandro Parcet Date: Wed, 4 Sep 2024 10:24:38 +0200 Subject: [PATCH 1/4] fix: added parser to import routine to replace obj with React.JSX for icon keys Signed-off-by: Alejandro Parcet --- src/renderer/views/LayoutEditor.tsx | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/renderer/views/LayoutEditor.tsx b/src/renderer/views/LayoutEditor.tsx index a17bff8c..f1682155 100644 --- a/src/renderer/views/LayoutEditor.tsx +++ b/src/renderer/views/LayoutEditor.tsx @@ -1442,11 +1442,17 @@ const LayoutEditor = (props: LayoutEditorProps) => { } setLayerNames(lNames); } + const parsedKeymap = data.keymap.map(key => { + let localKey = key; + if (typeof localKey.extraLabel === "object" || typeof localKey.label === "object") + localKey = keymapDB.parse(localKey.keyCode); + return localKey; + }); if (data.keymap.length > 0 && data.colormap.length > 0) { if (keymap.onlyCustom) { if (currentLayer >= 0) { const newKeymap = keymap.custom.slice(); - newKeymap[currentLayer] = data.keymap.slice(); + newKeymap[currentLayer] = parsedKeymap; const newColormap = colorMap.slice(); newColormap[currentLayer] = data.colormap.slice(); setKeymap({ @@ -1459,7 +1465,7 @@ const LayoutEditor = (props: LayoutEditorProps) => { } else if (currentLayer >= keymap.default.length) { const defLength = keymap.default.length; const newKeymap = keymap.custom.slice(); - newKeymap[currentLayer - defLength] = data.keymap; + newKeymap[currentLayer - defLength] = parsedKeymap; const newColormap = colorMap.slice(); newColormap[currentLayer - defLength] = data.colormap.slice(); From 3c50067aacace9c79bcef4f84cedd8c8cd2af0de Mon Sep 17 00:00:00 2001 From: Alejandro Parcet Date: Wed, 4 Sep 2024 10:32:35 +0200 Subject: [PATCH 2/4] fix: modified disable function for existing macro Signed-off-by: Alejandro Parcet --- src/renderer/modules/KeysTabs/MacroTab.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/renderer/modules/KeysTabs/MacroTab.tsx b/src/renderer/modules/KeysTabs/MacroTab.tsx index 9671fbfa..28411dc2 100644 --- a/src/renderer/modules/KeysTabs/MacroTab.tsx +++ b/src/renderer/modules/KeysTabs/MacroTab.tsx @@ -72,7 +72,7 @@ const MacroTab = (props: MacroTabProps) => { macrosContainer.name = item.name; } macrosContainer.value = index; - macrosContainer.disabled = index + 1 === selectedMacro; + macrosContainer.disabled = index === selectedMacro; return macrosContainer; }); From 8399d581a8d3fecc03fbbaac16884332a7b675fb Mon Sep 17 00:00:00 2001 From: Alejandro Parcet Date: Wed, 4 Sep 2024 11:02:33 +0200 Subject: [PATCH 3/4] chore: updated version number Signed-off-by: Alejandro Parcet --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 16c00a3e..6e6c9ea9 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "Bazecor", "productName": "Bazecor", - "version": "1.4.4", + "version": "1.4.5", "description": "Bazecor desktop app", "private": true, "repository": { From 4b04fc1181bbbeb4d6f73c6212d1c12e29d4c2c2 Mon Sep 17 00:00:00 2001 From: Alejandro Parcet Date: Wed, 4 Sep 2024 13:20:02 +0200 Subject: [PATCH 4/4] fix: solved symbol representation for multiple combinations of mods Signed-off-by: Alejandro Parcet --- .../ListModifiers/ListModifiersKey.tsx | 40 +++++-------------- 1 file changed, 10 insertions(+), 30 deletions(-) diff --git a/src/renderer/components/molecules/ListModifiers/ListModifiersKey.tsx b/src/renderer/components/molecules/ListModifiers/ListModifiersKey.tsx index 4d7d7f30..039cf947 100644 --- a/src/renderer/components/molecules/ListModifiers/ListModifiersKey.tsx +++ b/src/renderer/components/molecules/ListModifiers/ListModifiersKey.tsx @@ -1,5 +1,7 @@ +/* eslint-disable no-bitwise */ import React, { useState, useEffect, useMemo } from "react"; import { AnimatePresence, motion } from "framer-motion"; +import { KeymapDB } from "../../../../api/keymap"; import OSKey from "../KeyTags/OSKey"; interface ListModifiersProps { @@ -10,6 +12,7 @@ type Modifier = number; const ListModifiersKey = ({ keyCode, size = "xs" }: ListModifiersProps) => { const [modifiersState, setModifiersState] = useState({ isMeh: false, isHyper: false }); + const [db] = useState(new KeymapDB()); // const [isMeh, setIsMeh] = useState(false); // const [isHyper, setIsHyper] = useState(false); @@ -17,27 +20,22 @@ const ListModifiersKey = ({ keyCode, size = "xs" }: ListModifiersProps) => { const parseModifs = (keycode: number): Modifier[] => { const modifs: Modifier[] = []; - // eslint-disable-next-line if (keycode & 0b100000000) { // Ctrl Decoder modifs.push(1); } - // eslint-disable-next-line if (keycode & 0b1000000000) { // Alt Decoder modifs.push(2); } - // eslint-disable-next-line if (keycode & 0b10000000000) { // AltGr Decoder modifs.push(3); } - // eslint-disable-next-line if (keycode & 0b100000000000) { // Shift Decoder modifs.push(0); } - // eslint-disable-next-line if (keycode & 0b1000000000000) { // Win Decoder modifs.push(4); @@ -47,35 +45,14 @@ const ListModifiersKey = ({ keyCode, size = "xs" }: ListModifiersProps) => { const modifiers = useMemo(() => parseModifs(keyCode), [keyCode]); - // useEffect(() => { - // if ( - // parseModifs(keyCode).includes(0) === true && - // parseModifs(keyCode).includes(1) === true && - // parseModifs(keyCode).includes(2) === true && - // parseModifs(keyCode).includes(4) === true - // ) { - // setIsHyper(true); - // } else { - // setIsHyper(false); - // } - // if ( - // parseModifs(keyCode).includes(0) === true && - // parseModifs(keyCode).includes(1) === true && - // parseModifs(keyCode).includes(2) === true && - // parseModifs(keyCode).includes(4) === false - // ) { - // setIsMeh(true); - // } else { - // setIsMeh(false); - // } - // }, [keyCode]); - useEffect(() => { const isHyper = [0, 1, 2, 4].every(mod => modifiers.includes(mod)); const isMeh = [0, 1, 2].every(mod => modifiers.includes(mod)) && !modifiers.includes(4); setModifiersState({ isMeh, isHyper }); }, [modifiers]); + const altVisual = db.parse(keyCode).label !== db.parse(keyCode & 0b11111111).label; + if (keyCode >= 8192) return null; return (
@@ -141,7 +118,7 @@ const ListModifiersKey = ({ keyCode, size = "xs" }: ListModifiersProps) => { )} {typeof keyCode === "number" ? ( <> - {parseModifs(keyCode).includes(3) === true ? ( + {parseModifs(keyCode).includes(3) === true && (!altVisual || parseModifs(keyCode).length > 1) ? (
  • @@ -163,7 +140,10 @@ const ListModifiersKey = ({ keyCode, size = "xs" }: ListModifiersProps) => { ) : ( "" )} - {parseModifs(keyCode).includes(0) === true && !modifiersState.isMeh && !modifiersState.isHyper ? ( + {parseModifs(keyCode).includes(0) === true && + !modifiersState.isMeh && + !modifiersState.isHyper && + (!altVisual || parseModifs(keyCode).length > 1) ? (