From abeba08be781a3f3feabe041a155e2dca6a0f908 Mon Sep 17 00:00:00 2001 From: lowking Date: Fri, 5 Jan 2024 13:36:11 +0800 Subject: [PATCH 1/2] Support to load HEX keycodes from json file to: #182 --- src/utils/key.ts | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/utils/key.ts b/src/utils/key.ts index 243c0710..c52bcbdc 100644 --- a/src/utils/key.ts +++ b/src/utils/key.ts @@ -74,6 +74,8 @@ export function getByteForCode( const byte: number | undefined = basicKeyToByte[code]; if (byte !== undefined) { return byte; + } else if (isHexCode(code)) { + return eval(code) } else if (isLayerCode(code)) { return getByteForLayerCode(code, basicKeyToByte); } else if (advancedStringToKeycode(code, basicKeyToByte) !== null) { @@ -82,6 +84,10 @@ export function getByteForCode( throw `Could not find byte for ${code}`; } +function isHexCode(code: string) { + return code.startsWith('0x') +} + function isLayerCode(code: string) { return /([A-Za-z]+)\((\d+)\)/.test(code); } From 8cb14add7d54a8d6b8ea746d8a9cb0ebfdcde52e Mon Sep 17 00:00:00 2001 From: lowking Date: Sun, 18 Aug 2024 01:25:19 +0800 Subject: [PATCH 2/2] Use Number(code) instead of eval --- src/utils/key.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/utils/key.ts b/src/utils/key.ts index c52bcbdc..49588fc3 100644 --- a/src/utils/key.ts +++ b/src/utils/key.ts @@ -75,7 +75,7 @@ export function getByteForCode( if (byte !== undefined) { return byte; } else if (isHexCode(code)) { - return eval(code) + return Number(code) } else if (isLayerCode(code)) { return getByteForLayerCode(code, basicKeyToByte); } else if (advancedStringToKeycode(code, basicKeyToByte) !== null) {