mirror of
https://github.com/CharaChorder/DeviceManager.git
synced 2026-01-22 18:02:42 +00:00
migrate layout icons form unicode to material symbols
migrate keymap to yml
This commit is contained in:
@@ -33,6 +33,12 @@ const config: IconsConfig = {
|
||||
],
|
||||
codePoints: {
|
||||
speed: "e9e4",
|
||||
arrow_split: "e985",
|
||||
arrow_circle_down: "f181",
|
||||
arrow_circle_up: "f182",
|
||||
counter_1: "f784",
|
||||
counter_2: "f783",
|
||||
counter_3: "f782",
|
||||
},
|
||||
}
|
||||
|
||||
|
||||
528
package-lock.json
generated
528
package-lock.json
generated
@@ -7,10 +7,12 @@
|
||||
"": {
|
||||
"name": "cccs",
|
||||
"version": "0.0.1",
|
||||
"license": "AGPL-3.0-or-later",
|
||||
"devDependencies": {
|
||||
"@fontsource-variable/material-symbols-rounded": "^5.0.4",
|
||||
"@fontsource-variable/noto-sans-mono": "^5.0.4",
|
||||
"@material/material-color-utilities": "^0.2.7",
|
||||
"@modyfi/vite-plugin-yaml": "^1.0.4",
|
||||
"@sveltejs/adapter-static": "^2.0.2",
|
||||
"@sveltejs/kit": "^1.20.4",
|
||||
"@theaninova/prettier-config": "^1.0.0",
|
||||
@@ -18,6 +20,7 @@
|
||||
"@vite-pwa/sveltekit": "^0.2.5",
|
||||
"autoprefixer": "^10.4.14",
|
||||
"fontkit": "^2.0.2",
|
||||
"glob": "^10.3.1",
|
||||
"prettier": "^2.8.0",
|
||||
"prettier-plugin-svelte": "^2.10.1",
|
||||
"sass": "^1.63.6",
|
||||
@@ -2207,6 +2210,73 @@
|
||||
"integrity": "sha512-CC5p/9/OF3hep8EsSD0UKYMCaA58nqjm4vRKnwvmvHZPA9jFif6q1lRkmI2nx8C30UkdVA1L7JvOUmCUu+RgNA==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/@isaacs/cliui": {
|
||||
"version": "8.0.2",
|
||||
"resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz",
|
||||
"integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"string-width": "^5.1.2",
|
||||
"string-width-cjs": "npm:string-width@^4.2.0",
|
||||
"strip-ansi": "^7.0.1",
|
||||
"strip-ansi-cjs": "npm:strip-ansi@^6.0.1",
|
||||
"wrap-ansi": "^8.1.0",
|
||||
"wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=12"
|
||||
}
|
||||
},
|
||||
"node_modules/@isaacs/cliui/node_modules/ansi-regex": {
|
||||
"version": "6.0.1",
|
||||
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz",
|
||||
"integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": ">=12"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/chalk/ansi-regex?sponsor=1"
|
||||
}
|
||||
},
|
||||
"node_modules/@isaacs/cliui/node_modules/emoji-regex": {
|
||||
"version": "9.2.2",
|
||||
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz",
|
||||
"integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/@isaacs/cliui/node_modules/string-width": {
|
||||
"version": "5.1.2",
|
||||
"resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz",
|
||||
"integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"eastasianwidth": "^0.2.0",
|
||||
"emoji-regex": "^9.2.2",
|
||||
"strip-ansi": "^7.0.1"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=12"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/sindresorhus"
|
||||
}
|
||||
},
|
||||
"node_modules/@isaacs/cliui/node_modules/strip-ansi": {
|
||||
"version": "7.1.0",
|
||||
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz",
|
||||
"integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"ansi-regex": "^6.0.1"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=12"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/chalk/strip-ansi?sponsor=1"
|
||||
}
|
||||
},
|
||||
"node_modules/@jridgewell/gen-mapping": {
|
||||
"version": "0.3.3",
|
||||
"resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz",
|
||||
@@ -2277,6 +2347,20 @@
|
||||
"integrity": "sha512-0FCeqG6WvK4/Cc06F/xXMd/pv4FeisI0c1tUpBbfhA2n9Y8eZEv4Karjbmf2ZqQCPUWMrGp8A571tCjizxoTiQ==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/@modyfi/vite-plugin-yaml": {
|
||||
"version": "1.0.4",
|
||||
"resolved": "https://registry.npmjs.org/@modyfi/vite-plugin-yaml/-/vite-plugin-yaml-1.0.4.tgz",
|
||||
"integrity": "sha512-qkT0KiR3AQQRfUvDzLv4+1rYAzXj+QmGhAbyUd0Ordf9xynK76i758lk5GiEfxuQxbvdqDaJ9oXkH/KacbSjQQ==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@rollup/pluginutils": "5.0.2",
|
||||
"js-yaml": "4.1.0",
|
||||
"tosource": "2.0.0-alpha.3"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"vite": "^2.6.0 || ^3.0.0 || ^4.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@nicolo-ribaudo/semver-v6": {
|
||||
"version": "6.3.3",
|
||||
"resolved": "https://registry.npmjs.org/@nicolo-ribaudo/semver-v6/-/semver-v6-6.3.3.tgz",
|
||||
@@ -2321,12 +2405,50 @@
|
||||
"node": ">= 8"
|
||||
}
|
||||
},
|
||||
"node_modules/@pkgjs/parseargs": {
|
||||
"version": "0.11.0",
|
||||
"resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz",
|
||||
"integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==",
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"engines": {
|
||||
"node": ">=14"
|
||||
}
|
||||
},
|
||||
"node_modules/@polka/url": {
|
||||
"version": "1.0.0-next.21",
|
||||
"resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.21.tgz",
|
||||
"integrity": "sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/@rollup/pluginutils": {
|
||||
"version": "5.0.2",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.0.2.tgz",
|
||||
"integrity": "sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@types/estree": "^1.0.0",
|
||||
"estree-walker": "^2.0.2",
|
||||
"picomatch": "^2.3.1"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=14.0.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"rollup": "^1.20.0||^2.0.0||^3.0.0"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"rollup": {
|
||||
"optional": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"node_modules/@rollup/pluginutils/node_modules/estree-walker": {
|
||||
"version": "2.0.2",
|
||||
"resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz",
|
||||
"integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/@surma/rollup-plugin-off-main-thread": {
|
||||
"version": "2.2.3",
|
||||
"resolved": "https://registry.npmjs.org/@surma/rollup-plugin-off-main-thread/-/rollup-plugin-off-main-thread-2.2.3.tgz",
|
||||
@@ -3141,6 +3263,35 @@
|
||||
"integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/cross-spawn": {
|
||||
"version": "7.0.3",
|
||||
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
|
||||
"integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"path-key": "^3.1.0",
|
||||
"shebang-command": "^2.0.0",
|
||||
"which": "^2.0.1"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 8"
|
||||
}
|
||||
},
|
||||
"node_modules/cross-spawn/node_modules/which": {
|
||||
"version": "2.0.2",
|
||||
"resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
|
||||
"integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"isexe": "^2.0.0"
|
||||
},
|
||||
"bin": {
|
||||
"node-which": "bin/node-which"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 8"
|
||||
}
|
||||
},
|
||||
"node_modules/crypto-random-string": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz",
|
||||
@@ -3370,6 +3521,12 @@
|
||||
"url": "https://github.com/fb55/domutils?sponsor=1"
|
||||
}
|
||||
},
|
||||
"node_modules/eastasianwidth": {
|
||||
"version": "0.2.0",
|
||||
"resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz",
|
||||
"integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/ejs": {
|
||||
"version": "3.1.9",
|
||||
"resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.9.tgz",
|
||||
@@ -3709,6 +3866,26 @@
|
||||
"node": "^10.12.0 || >=12.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/flat-cache/node_modules/glob": {
|
||||
"version": "7.2.3",
|
||||
"resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
|
||||
"integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"fs.realpath": "^1.0.0",
|
||||
"inflight": "^1.0.4",
|
||||
"inherits": "2",
|
||||
"minimatch": "^3.1.1",
|
||||
"once": "^1.3.0",
|
||||
"path-is-absolute": "^1.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": "*"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/isaacs"
|
||||
}
|
||||
},
|
||||
"node_modules/flat-cache/node_modules/rimraf": {
|
||||
"version": "3.0.2",
|
||||
"resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
|
||||
@@ -3756,6 +3933,22 @@
|
||||
"is-callable": "^1.1.3"
|
||||
}
|
||||
},
|
||||
"node_modules/foreground-child": {
|
||||
"version": "3.1.1",
|
||||
"resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz",
|
||||
"integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"cross-spawn": "^7.0.0",
|
||||
"signal-exit": "^4.0.1"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=14"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/isaacs"
|
||||
}
|
||||
},
|
||||
"node_modules/fraction.js": {
|
||||
"version": "4.2.0",
|
||||
"resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz",
|
||||
@@ -3884,20 +4077,22 @@
|
||||
}
|
||||
},
|
||||
"node_modules/glob": {
|
||||
"version": "7.2.3",
|
||||
"resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
|
||||
"integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
|
||||
"version": "10.3.1",
|
||||
"resolved": "https://registry.npmjs.org/glob/-/glob-10.3.1.tgz",
|
||||
"integrity": "sha512-9BKYcEeIs7QwlCYs+Y3GBvqAMISufUS0i2ELd11zpZjxI5V9iyRj0HgzB5/cLf2NY4vcYBTYzJ7GIui7j/4DOw==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"fs.realpath": "^1.0.0",
|
||||
"inflight": "^1.0.4",
|
||||
"inherits": "2",
|
||||
"minimatch": "^3.1.1",
|
||||
"once": "^1.3.0",
|
||||
"path-is-absolute": "^1.0.0"
|
||||
"foreground-child": "^3.1.0",
|
||||
"jackspeak": "^2.0.3",
|
||||
"minimatch": "^9.0.1",
|
||||
"minipass": "^5.0.0 || ^6.0.2",
|
||||
"path-scurry": "^1.10.0"
|
||||
},
|
||||
"bin": {
|
||||
"glob": "dist/cjs/src/bin.js"
|
||||
},
|
||||
"engines": {
|
||||
"node": "*"
|
||||
"node": ">=16 || 14 >=14.17"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/isaacs"
|
||||
@@ -3915,6 +4110,30 @@
|
||||
"node": ">= 6"
|
||||
}
|
||||
},
|
||||
"node_modules/glob/node_modules/brace-expansion": {
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
|
||||
"integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"balanced-match": "^1.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/glob/node_modules/minimatch": {
|
||||
"version": "9.0.3",
|
||||
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz",
|
||||
"integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"brace-expansion": "^2.0.1"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=16 || 14 >=14.17"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/isaacs"
|
||||
}
|
||||
},
|
||||
"node_modules/global-modules": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz",
|
||||
@@ -4566,6 +4785,24 @@
|
||||
"integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/jackspeak": {
|
||||
"version": "2.2.1",
|
||||
"resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.2.1.tgz",
|
||||
"integrity": "sha512-MXbxovZ/Pm42f6cDIDkl3xpwv1AGwObKwfmjs2nQePiy85tP3fatofl3FC1aBsOtP/6fq5SbtgHwWcMsLP+bDw==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@isaacs/cliui": "^8.0.2"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=14"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/isaacs"
|
||||
},
|
||||
"optionalDependencies": {
|
||||
"@pkgjs/parseargs": "^0.11.0"
|
||||
}
|
||||
},
|
||||
"node_modules/jake": {
|
||||
"version": "10.8.7",
|
||||
"resolved": "https://registry.npmjs.org/jake/-/jake-10.8.7.tgz",
|
||||
@@ -5020,6 +5257,15 @@
|
||||
"node": ">= 6"
|
||||
}
|
||||
},
|
||||
"node_modules/minipass": {
|
||||
"version": "6.0.2",
|
||||
"resolved": "https://registry.npmjs.org/minipass/-/minipass-6.0.2.tgz",
|
||||
"integrity": "sha512-MzWSV5nYVT7mVyWCwn2o7JH13w2TBRmmSqSRCKzTw+lmft9X4z+3wjvs06Tzijo5z4W/kahUCDpRXTF+ZrmF/w==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": ">=16 || 14 >=14.17"
|
||||
}
|
||||
},
|
||||
"node_modules/mkdirp": {
|
||||
"version": "0.5.6",
|
||||
"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz",
|
||||
@@ -5248,12 +5494,46 @@
|
||||
"node": ">=0.10.0"
|
||||
}
|
||||
},
|
||||
"node_modules/path-key": {
|
||||
"version": "3.1.1",
|
||||
"resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
|
||||
"integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
}
|
||||
},
|
||||
"node_modules/path-parse": {
|
||||
"version": "1.0.7",
|
||||
"resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
|
||||
"integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/path-scurry": {
|
||||
"version": "1.10.0",
|
||||
"resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.0.tgz",
|
||||
"integrity": "sha512-tZFEaRQbMLjwrsmidsGJ6wDMv0iazJWk6SfIKnY4Xru8auXgmJkOBa5DUbYFcFD2Rzk2+KDlIiF0GVXNCbgC7g==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"lru-cache": "^9.1.1 || ^10.0.0",
|
||||
"minipass": "^5.0.0 || ^6.0.2"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=16 || 14 >=14.17"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/isaacs"
|
||||
}
|
||||
},
|
||||
"node_modules/path-scurry/node_modules/lru-cache": {
|
||||
"version": "10.0.0",
|
||||
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.0.0.tgz",
|
||||
"integrity": "sha512-svTf/fzsKHffP42sujkO/Rjs37BCIsQVRCeNYIm9WN8rgT7ffoUnRtZCqU+6BqcSBdv8gwJeTz8knJpgACeQMw==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": "14 || >=16.14"
|
||||
}
|
||||
},
|
||||
"node_modules/path-type": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
|
||||
@@ -5751,6 +6031,26 @@
|
||||
"rimraf": "bin.js"
|
||||
}
|
||||
},
|
||||
"node_modules/rimraf/node_modules/glob": {
|
||||
"version": "7.2.3",
|
||||
"resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
|
||||
"integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"fs.realpath": "^1.0.0",
|
||||
"inflight": "^1.0.4",
|
||||
"inherits": "2",
|
||||
"minimatch": "^3.1.1",
|
||||
"once": "^1.3.0",
|
||||
"path-is-absolute": "^1.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": "*"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/isaacs"
|
||||
}
|
||||
},
|
||||
"node_modules/rollup": {
|
||||
"version": "3.26.0",
|
||||
"resolved": "https://registry.npmjs.org/rollup/-/rollup-3.26.0.tgz",
|
||||
@@ -5895,6 +6195,27 @@
|
||||
"integrity": "sha512-RVnVQxTXuerk653XfuliOxBP81Sf0+qfQE73LIYKcyMYHG94AuH0kgrQpRDuTZnSmjpysHmzxJXKNfa6PjFhyQ==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/shebang-command": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
|
||||
"integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"shebang-regex": "^3.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
}
|
||||
},
|
||||
"node_modules/shebang-regex": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
|
||||
"integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
}
|
||||
},
|
||||
"node_modules/side-channel": {
|
||||
"version": "1.0.4",
|
||||
"resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz",
|
||||
@@ -6111,6 +6432,21 @@
|
||||
"node": ">=8"
|
||||
}
|
||||
},
|
||||
"node_modules/string-width-cjs": {
|
||||
"name": "string-width",
|
||||
"version": "4.2.3",
|
||||
"resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
|
||||
"integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"emoji-regex": "^8.0.0",
|
||||
"is-fullwidth-code-point": "^3.0.0",
|
||||
"strip-ansi": "^6.0.1"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
}
|
||||
},
|
||||
"node_modules/string.prototype.matchall": {
|
||||
"version": "4.0.8",
|
||||
"resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.8.tgz",
|
||||
@@ -6201,6 +6537,19 @@
|
||||
"node": ">=8"
|
||||
}
|
||||
},
|
||||
"node_modules/strip-ansi-cjs": {
|
||||
"name": "strip-ansi",
|
||||
"version": "6.0.1",
|
||||
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
|
||||
"integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"ansi-regex": "^5.0.1"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
}
|
||||
},
|
||||
"node_modules/strip-comments": {
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npmjs.org/strip-comments/-/strip-comments-2.0.1.tgz",
|
||||
@@ -6730,6 +7079,15 @@
|
||||
"node": ">=8.0"
|
||||
}
|
||||
},
|
||||
"node_modules/tosource": {
|
||||
"version": "2.0.0-alpha.3",
|
||||
"resolved": "https://registry.npmjs.org/tosource/-/tosource-2.0.0-alpha.3.tgz",
|
||||
"integrity": "sha512-KAB2lrSS48y91MzFPFuDg4hLbvDiyTjOVgaK7Erw+5AmZXNq4sFRVn8r6yxSLuNs15PaokrDRpS61ERY9uZOug==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": ">=10"
|
||||
}
|
||||
},
|
||||
"node_modules/totalist": {
|
||||
"version": "3.0.1",
|
||||
"resolved": "https://registry.npmjs.org/totalist/-/totalist-3.0.1.tgz",
|
||||
@@ -7327,6 +7685,26 @@
|
||||
"integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/workbox-build/node_modules/glob": {
|
||||
"version": "7.2.3",
|
||||
"resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
|
||||
"integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"fs.realpath": "^1.0.0",
|
||||
"inflight": "^1.0.4",
|
||||
"inherits": "2",
|
||||
"minimatch": "^3.1.1",
|
||||
"once": "^1.3.0",
|
||||
"path-is-absolute": "^1.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": "*"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/isaacs"
|
||||
}
|
||||
},
|
||||
"node_modules/workbox-build/node_modules/magic-string": {
|
||||
"version": "0.25.9",
|
||||
"resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz",
|
||||
@@ -7503,6 +7881,136 @@
|
||||
"workbox-core": "7.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/wrap-ansi": {
|
||||
"version": "8.1.0",
|
||||
"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz",
|
||||
"integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"ansi-styles": "^6.1.0",
|
||||
"string-width": "^5.0.1",
|
||||
"strip-ansi": "^7.0.1"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=12"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/chalk/wrap-ansi?sponsor=1"
|
||||
}
|
||||
},
|
||||
"node_modules/wrap-ansi-cjs": {
|
||||
"name": "wrap-ansi",
|
||||
"version": "7.0.0",
|
||||
"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
|
||||
"integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"ansi-styles": "^4.0.0",
|
||||
"string-width": "^4.1.0",
|
||||
"strip-ansi": "^6.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=10"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/chalk/wrap-ansi?sponsor=1"
|
||||
}
|
||||
},
|
||||
"node_modules/wrap-ansi-cjs/node_modules/ansi-styles": {
|
||||
"version": "4.3.0",
|
||||
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
|
||||
"integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"color-convert": "^2.0.1"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/chalk/ansi-styles?sponsor=1"
|
||||
}
|
||||
},
|
||||
"node_modules/wrap-ansi-cjs/node_modules/color-convert": {
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
|
||||
"integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"color-name": "~1.1.4"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=7.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/wrap-ansi-cjs/node_modules/color-name": {
|
||||
"version": "1.1.4",
|
||||
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
|
||||
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/wrap-ansi/node_modules/ansi-regex": {
|
||||
"version": "6.0.1",
|
||||
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz",
|
||||
"integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": ">=12"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/chalk/ansi-regex?sponsor=1"
|
||||
}
|
||||
},
|
||||
"node_modules/wrap-ansi/node_modules/ansi-styles": {
|
||||
"version": "6.2.1",
|
||||
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz",
|
||||
"integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": ">=12"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/chalk/ansi-styles?sponsor=1"
|
||||
}
|
||||
},
|
||||
"node_modules/wrap-ansi/node_modules/emoji-regex": {
|
||||
"version": "9.2.2",
|
||||
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz",
|
||||
"integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/wrap-ansi/node_modules/string-width": {
|
||||
"version": "5.1.2",
|
||||
"resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz",
|
||||
"integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"eastasianwidth": "^0.2.0",
|
||||
"emoji-regex": "^9.2.2",
|
||||
"strip-ansi": "^7.0.1"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=12"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/sindresorhus"
|
||||
}
|
||||
},
|
||||
"node_modules/wrap-ansi/node_modules/strip-ansi": {
|
||||
"version": "7.1.0",
|
||||
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz",
|
||||
"integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"ansi-regex": "^6.0.1"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=12"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/chalk/strip-ansi?sponsor=1"
|
||||
}
|
||||
},
|
||||
"node_modules/wrappy": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
|
||||
|
||||
@@ -25,6 +25,7 @@
|
||||
"stylelint-config-html": "^1.1.0",
|
||||
"stylelint-config-recommended-scss": "^12.0.0",
|
||||
"stylelint-config-clean-order": "^5.0.1",
|
||||
"glob": "^10.3.1",
|
||||
"@sveltejs/adapter-static": "^2.0.2",
|
||||
"@sveltejs/kit": "^1.20.4",
|
||||
"@material/material-color-utilities": "^0.2.7",
|
||||
@@ -37,6 +38,7 @@
|
||||
"typescript": "^5.0.0",
|
||||
"vite": "^4.3.6",
|
||||
"vite-plugin-pwa": "^0.16.4",
|
||||
"@modyfi/vite-plugin-yaml": "^1.0.4",
|
||||
"svelte-preprocess": "^5.0.4",
|
||||
"autoprefixer": "^10.4.14",
|
||||
"sass": "^1.63.6"
|
||||
|
||||
2
src/app.d.ts
vendored
2
src/app.d.ts
vendored
@@ -1,3 +1,5 @@
|
||||
/// <reference types="@modyfi/vite-plugin-yaml/modules" />
|
||||
|
||||
// See https://kit.svelte.dev/docs/types#app
|
||||
// for information about these interfaces
|
||||
declare global {
|
||||
|
||||
@@ -1,34 +0,0 @@
|
||||
{
|
||||
"SPACE": "␣",
|
||||
"SPACERIGHT": "␣ᴿ",
|
||||
"DEL": "⌦",
|
||||
"BKSP": "⌫",
|
||||
"MS_CLICK_LF": "\uD83D\uDDB0ᴸ",
|
||||
"MS_CLICK_RT": "\uD83D\uDDB0ᴿ",
|
||||
"MS_MOVE_UP": "\uD83D\uDDB0\uD83E\uDC51",
|
||||
"MS_MOVE_DN": "\uD83D\uDDB0\uD83E\uDC53",
|
||||
"MS_MOVE_LF": "\uD83E\uDC50\uD83D\uDDB0",
|
||||
"MS_MOVE_RT": "\uD83D\uDDB0\uD83E\uDC52",
|
||||
"MS_SCRL_UP": "\uD83D\uDDB0⍐",
|
||||
"MS_SCRL_DN": "\uD83D\uDDB0⍗",
|
||||
"MS_SCRL_LF": "⍇\uD83D\uDDB0",
|
||||
"MS_SCRL_RT": "\uD83D\uDDB0⍈",
|
||||
"AMBIRIGHT": "✍\uFE0Eᴿ",
|
||||
"AMBILEFT": "✍\uFE0Eᴸ",
|
||||
"ENTER": "⮠",
|
||||
"TAB": "⭾",
|
||||
"LEFT_CTRL": "⌥ᴸ",
|
||||
"RIGHT_CTRL": "⌥ᴿ",
|
||||
"LEFT_ALT": "⎇ᴸ",
|
||||
"RIGHT_ALT": "⎇ᴿ",
|
||||
"LEFT_SHIFT": "⇪ᴸ",
|
||||
"RIGHT_SHIFT": "⇪ᴸ",
|
||||
"KM_2_R": "⚇ᴿ",
|
||||
"KM_2_L": "⚇ᴸ",
|
||||
"ARROW_UP": "\uD83E\uDC2D",
|
||||
"ARROW_DN": "\uD83E\uDC2F",
|
||||
"ARROW_RT": "\uD83E\uDC2E",
|
||||
"ARROW_LF": "\uD83E\uDC2C",
|
||||
"ESC": "␛",
|
||||
"DUP": "⎘"
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
67
src/lib/assets/keymaps/action-codes.yml
Normal file
67
src/lib/assets/keymaps/action-codes.yml
Normal file
@@ -0,0 +1,67 @@
|
||||
name: Action Codes
|
||||
description: 10-bit action codes 0x00-0x1F
|
||||
actions:
|
||||
0x00:
|
||||
id: "0x00"
|
||||
0x01:
|
||||
id: "0x01"
|
||||
0x02:
|
||||
id: "0x02"
|
||||
0x03:
|
||||
id: "0x03"
|
||||
0x04:
|
||||
id: "0x04"
|
||||
0x05:
|
||||
id: "0x05"
|
||||
0x06:
|
||||
id: "0x06"
|
||||
0x07:
|
||||
id: "0x07"
|
||||
0x08:
|
||||
id: "0x08"
|
||||
0x09:
|
||||
id: "0x09"
|
||||
0x0A:
|
||||
id: "0x0A"
|
||||
0x0B:
|
||||
id: "0x0B"
|
||||
0x0C:
|
||||
id: "0x0C"
|
||||
0x0D:
|
||||
id: "0x0D"
|
||||
0x0E:
|
||||
id: "0x0E"
|
||||
0x0F:
|
||||
id: "0x0F"
|
||||
0x10:
|
||||
id: "0x10"
|
||||
0x11:
|
||||
id: "0x11"
|
||||
0x12:
|
||||
id: "0x12"
|
||||
0x13:
|
||||
id: "0x13"
|
||||
0x14:
|
||||
id: "0x14"
|
||||
0x15:
|
||||
id: "0x15"
|
||||
0x16:
|
||||
id: "0x16"
|
||||
0x17:
|
||||
id: "0x17"
|
||||
0x18:
|
||||
id: "0x18"
|
||||
0x19:
|
||||
id: "0x19"
|
||||
0x1A:
|
||||
id: "0x1A"
|
||||
0x1B:
|
||||
id: "0x1B"
|
||||
0x1C:
|
||||
id: "0x1C"
|
||||
0x1D:
|
||||
id: "0x1D"
|
||||
0x1E:
|
||||
id: "0x1E"
|
||||
0x1F:
|
||||
id: "0x1F"
|
||||
295
src/lib/assets/keymaps/ascii.yml
Normal file
295
src/lib/assets/keymaps/ascii.yml
Normal file
@@ -0,0 +1,295 @@
|
||||
name: ASCII
|
||||
description: ASCII Charset
|
||||
actions:
|
||||
32:
|
||||
id: "SPACE"
|
||||
icon: space_bar
|
||||
description: |
|
||||
While SPACE is used for keymaps and chord, just a " " is used in chord outputs.
|
||||
This action is unique in this way. Technically it is "printable", but it is not visible.
|
||||
33:
|
||||
id: "!"
|
||||
title: Exclamation Point
|
||||
34:
|
||||
id: '"'
|
||||
title: Double Quote
|
||||
35:
|
||||
id: "#"
|
||||
title: Hash Symbol
|
||||
36:
|
||||
id: "$"
|
||||
title: Dollar Sign
|
||||
37:
|
||||
id: "%"
|
||||
title: Percent
|
||||
38:
|
||||
id: "&"
|
||||
title: Ampersand
|
||||
39:
|
||||
id: "'"
|
||||
title: Single Quote
|
||||
40:
|
||||
id: "("
|
||||
title: Opening Parenthesis
|
||||
41:
|
||||
id: ")"
|
||||
title: Closing Parenthesis
|
||||
42:
|
||||
id: "*"
|
||||
title: Asterisk
|
||||
43:
|
||||
id: "+"
|
||||
title: Plus
|
||||
44:
|
||||
id: ","
|
||||
title: Comma
|
||||
45:
|
||||
id: "-"
|
||||
title: Minus
|
||||
46:
|
||||
id: "."
|
||||
title: Period
|
||||
47:
|
||||
id: "/"
|
||||
title: Forward Slash
|
||||
48:
|
||||
id: "0"
|
||||
title: Zero
|
||||
49:
|
||||
id: "1"
|
||||
title: One
|
||||
50:
|
||||
id: "2"
|
||||
title: Two
|
||||
51:
|
||||
id: "3"
|
||||
title: Three
|
||||
52:
|
||||
id: "4"
|
||||
title: Four
|
||||
53:
|
||||
id: "5"
|
||||
title: Five
|
||||
54:
|
||||
id: "6"
|
||||
title: Six
|
||||
55:
|
||||
id: "7"
|
||||
title: Seven
|
||||
56:
|
||||
id: "8"
|
||||
title: Eight
|
||||
57:
|
||||
id: "9"
|
||||
title: Nine
|
||||
58:
|
||||
id: ":"
|
||||
title: Colon
|
||||
59:
|
||||
id: ";"
|
||||
title: Semicolon
|
||||
60:
|
||||
id: "<"
|
||||
title: Less Than
|
||||
61:
|
||||
id: "="
|
||||
title: Equals
|
||||
62:
|
||||
id: ">"
|
||||
title: Greater Than
|
||||
63:
|
||||
id: "?"
|
||||
title: Question Mark
|
||||
64:
|
||||
id: "@"
|
||||
title: At Symbol
|
||||
65:
|
||||
id: "A"
|
||||
title: Uppercase A
|
||||
66:
|
||||
id: "B"
|
||||
title: Uppercase B
|
||||
67:
|
||||
id: "C"
|
||||
title: Uppercase C
|
||||
68:
|
||||
id: "D"
|
||||
title: Uppercase D
|
||||
69:
|
||||
id: "E"
|
||||
title: Uppercase E
|
||||
70:
|
||||
id: "F"
|
||||
title: Uppercase F
|
||||
71:
|
||||
id: "G"
|
||||
title: Uppercase G
|
||||
72:
|
||||
id: "H"
|
||||
title: Uppercase H
|
||||
73:
|
||||
id: "I"
|
||||
title: Uppercase I
|
||||
74:
|
||||
id: "J"
|
||||
title: Uppercase J
|
||||
75:
|
||||
id: "K"
|
||||
title: Uppercase K
|
||||
76:
|
||||
id: "L"
|
||||
title: Uppercase L
|
||||
77:
|
||||
id: "M"
|
||||
title: Uppercase M
|
||||
78:
|
||||
id: "N"
|
||||
title: Uppercase N
|
||||
79:
|
||||
id: "O"
|
||||
title: Uppercase O
|
||||
80:
|
||||
id: "P"
|
||||
title: Uppercase P
|
||||
81:
|
||||
id: "Q"
|
||||
title: Uppercase Q
|
||||
82:
|
||||
id: "R"
|
||||
title: Uppercase R
|
||||
83:
|
||||
id: "S"
|
||||
title: Uppercase S
|
||||
84:
|
||||
id: "T"
|
||||
title: Uppercase T
|
||||
85:
|
||||
id: "U"
|
||||
title: Uppercase U
|
||||
86:
|
||||
id: "V"
|
||||
title: Uppercase V
|
||||
87:
|
||||
id: "W"
|
||||
title: Uppercase W
|
||||
88:
|
||||
id: "X"
|
||||
title: Uppercase X
|
||||
89:
|
||||
id: "Y"
|
||||
title: Uppercase Y
|
||||
90:
|
||||
id: "Z"
|
||||
title: Uppercase Z
|
||||
91:
|
||||
id: "["
|
||||
title: Left Bracket
|
||||
92:
|
||||
id: "\\"
|
||||
title: Backslash
|
||||
93:
|
||||
id: "]"
|
||||
title: Right Bracket
|
||||
94:
|
||||
id: "^"
|
||||
title: Caret
|
||||
95:
|
||||
id: "_"
|
||||
title: Underscore
|
||||
96:
|
||||
id: "`"
|
||||
title: Backtick
|
||||
97:
|
||||
id: "a"
|
||||
title: Lowercase a
|
||||
98:
|
||||
id: "b"
|
||||
title: Lowercase b
|
||||
99:
|
||||
id: "c"
|
||||
title: Lowercase c
|
||||
100:
|
||||
id: "d"
|
||||
title: Lowercase d
|
||||
101:
|
||||
id: "e"
|
||||
title: Lowercase e
|
||||
102:
|
||||
id: "f"
|
||||
title: Lowercase f
|
||||
103:
|
||||
id: "g"
|
||||
title: Lowercase g
|
||||
104:
|
||||
id: "h"
|
||||
title: Lowercase h
|
||||
105:
|
||||
id: "i"
|
||||
title: Lowercase i
|
||||
106:
|
||||
id: "j"
|
||||
title: Lowercase j
|
||||
107:
|
||||
id: "k"
|
||||
title: Lowercase k
|
||||
108:
|
||||
id: "l"
|
||||
title: Lowercase l
|
||||
109:
|
||||
id: "m"
|
||||
title: Lowercase m
|
||||
110:
|
||||
id: "n"
|
||||
title: Lowercase n
|
||||
111:
|
||||
id: "o"
|
||||
title: Lowercase o
|
||||
112:
|
||||
id: "p"
|
||||
title: Lowercase p
|
||||
113:
|
||||
id: "q"
|
||||
title: Lowercase q
|
||||
114:
|
||||
id: "r"
|
||||
title: Lowercase r
|
||||
115:
|
||||
id: "s"
|
||||
title: Lowercase s
|
||||
116:
|
||||
id: "t"
|
||||
title: Lowercase t
|
||||
117:
|
||||
id: "u"
|
||||
title: Lowercase u
|
||||
118:
|
||||
id: "v"
|
||||
title: Lowercase v
|
||||
119:
|
||||
id: "w"
|
||||
title: Lowercase w
|
||||
120:
|
||||
id: "x"
|
||||
title: Lowercase x
|
||||
121:
|
||||
id: "y"
|
||||
title: Lowercase y
|
||||
122:
|
||||
id: "z"
|
||||
title: Lowercase z
|
||||
123:
|
||||
id: "{"
|
||||
title: Left Curly Brace
|
||||
124:
|
||||
id: "|"
|
||||
title: Pipe
|
||||
125:
|
||||
id: "}"
|
||||
title: Right Curly Brace
|
||||
126:
|
||||
id: "~"
|
||||
title: Tilde
|
||||
127:
|
||||
id: "DEL"
|
||||
title: Delete
|
||||
icon: delete_forever
|
||||
39
src/lib/assets/keymaps/chara-chorder-one.yml
Normal file
39
src/lib/assets/keymaps/chara-chorder-one.yml
Normal file
@@ -0,0 +1,39 @@
|
||||
name: "CharaChorder One"
|
||||
description: |
|
||||
CharaChorder One specific actions.
|
||||
Mainly used for chords with unassigned 3D presses
|
||||
type: unassigned
|
||||
actions:
|
||||
600:
|
||||
id: "LH_THUMB_3_3D"
|
||||
title: Left Hand Thumb Top 3D Click
|
||||
601:
|
||||
id: "LH_THUMB_2_3D"
|
||||
title: Left Hand Thumb Middle 3D Click
|
||||
602:
|
||||
id: "LH_THUMB_1_3D"
|
||||
title: Left Hand Thumb Bottom 3D Click
|
||||
603:
|
||||
id: "LH_INDEX_3D"
|
||||
title: Left Hand Index Finger 3D Click
|
||||
604:
|
||||
id: "LH_MID_1_3D"
|
||||
title: Left Hand Middle Finger 3D Click
|
||||
605:
|
||||
id: "LH_RING_1_3D"
|
||||
title: Left Hand Ring Finger 3D Click
|
||||
606:
|
||||
id: "LH_PINKY_3D"
|
||||
title: Left Hand Pinky 3D Click,
|
||||
# TODO...
|
||||
# ["607", "CharaChorder One", "LH_MID_2_3D", "", ""],
|
||||
# ["608", "CharaChorder One", "LH_RING_2_3D", "", ""],
|
||||
# ["609", "CharaChorder One", "RH_THUMB_3_3D", "", ""],
|
||||
# ["610", "CharaChorder One", "RH_THUMB_2_3D", "", ""],
|
||||
# ["611", "CharaChorder One", "RH_THUMB_1_3D", "", ""],
|
||||
# ["612", "CharaChorder One", "RH_INDEX_3D", "", ""],
|
||||
# ["613", "CharaChorder One", "RH_MID_1_3D", "", ""],
|
||||
# ["614", "CharaChorder One", "RH_RING_1_3D", "", ""],
|
||||
# ["615", "CharaChorder One", "RH_PINKY_3D", "", ""],
|
||||
# ["616", "CharaChorder One", "RH_MID_2_3D", "", ""],
|
||||
# ["617", "CharaChorder One", "RH_RING_2_3D", "", ""]
|
||||
93
src/lib/assets/keymaps/chara-chorder.yml
Normal file
93
src/lib/assets/keymaps/chara-chorder.yml
Normal file
@@ -0,0 +1,93 @@
|
||||
name: CharaChorder
|
||||
description: CharaChorder specific actions
|
||||
actions:
|
||||
528:
|
||||
id: "RESTART"
|
||||
title: Restart Device
|
||||
icon: restart_alt
|
||||
530:
|
||||
id: "BOOT"
|
||||
title: Reboot to Bootloader
|
||||
icon: rule_settings
|
||||
532:
|
||||
id: "GTM"
|
||||
title: Toggle Generative Text Menu
|
||||
icon: terminal
|
||||
description: |
|
||||
Text based menu which is accessible anywhere you can type.
|
||||
It allows you to access various device settings and features
|
||||
without the need for software and is activated by chording both alt keys together.
|
||||
534:
|
||||
id: "IMPULSE"
|
||||
title: Toggle Impulse
|
||||
icon: heap_snapshot_multiple # TODO: find a better icon
|
||||
description: |
|
||||
An 'on-the-fly' custom chord which can be spontaneously created anywhere that you can type via the GTM
|
||||
536:
|
||||
id: "DUP"
|
||||
title: Repeat Last Note
|
||||
icon: control_point_duplicate
|
||||
description: |
|
||||
In character entry, it repeats your last input.
|
||||
In chorded entry, it is used for words with repeating letters.
|
||||
538:
|
||||
id: "SPUR"
|
||||
title: Spurring Toggle
|
||||
icon: piano
|
||||
description: |
|
||||
'Chording only' mode which tells your device to output chords on a press rather than a press & release.
|
||||
It also enables you to jump from one chord to another without releasing everything and can be activated
|
||||
in GTM or by chording both mirror keys. It can provide significant speed gains with chording,
|
||||
but also takes away the flexibility of character entry.
|
||||
Spurring also helps new users learn how to chord by eliminating the need to focus on timing.
|
||||
Spurring is toggled by chording both of the 'mirror' keys together.
|
||||
540: &ambi_throw
|
||||
id: "AMBILEFT"
|
||||
title: Ambidextrous Throwover
|
||||
icon: switch_left
|
||||
variant: left
|
||||
description: |
|
||||
Entry mode designed for one-handed typing.
|
||||
Characters from the opposite hand are mirrored to the hand which activates this feature.
|
||||
542:
|
||||
variantOf: 540
|
||||
<<: *ambi_throw
|
||||
id: "AMBIRIGHT"
|
||||
variant: right
|
||||
icon: switch_right
|
||||
544:
|
||||
variantOf: 36
|
||||
id: "SPACERIGHT"
|
||||
title: Right Spacebar (eg CC Lite)
|
||||
icon: space_bar
|
||||
variant: right
|
||||
548: &primary_keymap
|
||||
id: "KM_1_L"
|
||||
title: Primary Keymap
|
||||
icon: counter_1
|
||||
variant: left
|
||||
549:
|
||||
variantOf: 548
|
||||
<<: *primary_keymap
|
||||
id: "KM_1_R"
|
||||
variant: right
|
||||
550: &secondary_keymap
|
||||
id: "KM_2_L"
|
||||
title: Numeric Layer
|
||||
icon: counter_2
|
||||
variant: left
|
||||
551:
|
||||
variantOf: 550
|
||||
<<: *secondary_keymap
|
||||
id: "KM_2_R"
|
||||
variant: right
|
||||
552: &tertiary_keymap
|
||||
id: "KM_3_L"
|
||||
title: Function Layer
|
||||
icon: counter_3
|
||||
variant: left
|
||||
553:
|
||||
variationOf: 552
|
||||
<<: *tertiary_keymap
|
||||
id: "KM_3_R"
|
||||
variant: right
|
||||
320
src/lib/assets/keymaps/cp-1252.yml
Normal file
320
src/lib/assets/keymaps/cp-1252.yml
Normal file
@@ -0,0 +1,320 @@
|
||||
name: CP-1252
|
||||
description: CP-1252 Charset
|
||||
actions:
|
||||
128:
|
||||
id: "€"
|
||||
title: Uppercase cedilla
|
||||
129:
|
||||
title: HOP (High Octet Preset)
|
||||
130:
|
||||
id: "‚"
|
||||
title: Single Low-9 Quotation Mark
|
||||
131:
|
||||
id: "ƒ"
|
||||
title: Latin Small Letter f with Hook; Florin
|
||||
132:
|
||||
id: "„"
|
||||
title: Double Low-9 Quotation Mark
|
||||
133:
|
||||
id: "…"
|
||||
title: Horizontal Ellipsis
|
||||
134:
|
||||
id: "†"
|
||||
title: Dagger
|
||||
135:
|
||||
id: "‡"
|
||||
title: Double Dagger
|
||||
136:
|
||||
id: "ˆ"
|
||||
title: Circumflex
|
||||
137:
|
||||
id: "‰"
|
||||
title: Per Mile
|
||||
138:
|
||||
id: "Š"
|
||||
title: Captial S Caron
|
||||
139:
|
||||
id: "‹"
|
||||
title: Left Guillemet
|
||||
140:
|
||||
id: "Œ"
|
||||
title: Captial Ligature OE
|
||||
141:
|
||||
title: RI (Reverse Index)
|
||||
142:
|
||||
id: "Ž"
|
||||
title: Captial Z Caron
|
||||
143:
|
||||
title: SS3 (Single-Shift G3)
|
||||
144:
|
||||
title: DCS (Device Control String)
|
||||
145:
|
||||
id: "‘"
|
||||
title: Single Quote Left
|
||||
146:
|
||||
id: "’"
|
||||
title: Single Quote Right
|
||||
147:
|
||||
id: "“"
|
||||
title: Double Quote Left
|
||||
148:
|
||||
id: "”"
|
||||
title: Double Quote Right
|
||||
149:
|
||||
id: "•"
|
||||
title: Bullet
|
||||
150:
|
||||
id: "–"
|
||||
title: En Dash
|
||||
151:
|
||||
id: "—"
|
||||
title: Em Dash
|
||||
152:
|
||||
id: "˜"
|
||||
title: Small Tilde
|
||||
153:
|
||||
id: "™"
|
||||
title: Trademark
|
||||
154:
|
||||
id: "š"
|
||||
title: Small s Carson
|
||||
155:
|
||||
id: "›"
|
||||
title: Right Guillement
|
||||
156:
|
||||
id: "œ"
|
||||
title: Small Ligature oe
|
||||
157:
|
||||
title: Operating System Command
|
||||
158:
|
||||
id: "ž"
|
||||
title: Small Z Caron
|
||||
159:
|
||||
id: "Ÿ"
|
||||
title: Capital Y Diaresis
|
||||
160:
|
||||
id: " "
|
||||
title: No Break Space
|
||||
161:
|
||||
id: "¡"
|
||||
title: Inverted Exclamation
|
||||
162:
|
||||
id: "¢"
|
||||
title: Cent
|
||||
163:
|
||||
id: "£"
|
||||
title: Pound
|
||||
164:
|
||||
id: "¤"
|
||||
title: Currency
|
||||
165:
|
||||
id: "¥"
|
||||
title: Yen
|
||||
166:
|
||||
id: "¦"
|
||||
title: Broken Bar
|
||||
167:
|
||||
id: "§"
|
||||
title: Section
|
||||
168:
|
||||
id: "¨"
|
||||
title: Diaresis
|
||||
169:
|
||||
id: "©"
|
||||
title: Copyright
|
||||
170:
|
||||
id: "ª"
|
||||
title: Feminine Ordinal
|
||||
171:
|
||||
id: "«"
|
||||
title: Double Left Guillement
|
||||
172:
|
||||
id: "¬"
|
||||
title: Not
|
||||
173:
|
||||
id: ""
|
||||
title: Soft Hyphen
|
||||
174:
|
||||
id: "®"
|
||||
title: Registered
|
||||
175:
|
||||
id: "¯"
|
||||
title: Macron
|
||||
176:
|
||||
id: "°"
|
||||
title: Degree
|
||||
177:
|
||||
id: "±"
|
||||
title: Plus Minus
|
||||
178:
|
||||
id: "²"
|
||||
title: Superscript Two
|
||||
179:
|
||||
id: "³"
|
||||
title: Superscript Three
|
||||
180:
|
||||
id: "´"
|
||||
title: Acute
|
||||
181:
|
||||
id: "µ"
|
||||
title: Micro
|
||||
182:
|
||||
id: "¶"
|
||||
title: Pilcrow
|
||||
183:
|
||||
id: "·"
|
||||
title: Middle Dot
|
||||
184:
|
||||
id: "¸"
|
||||
title: Cedilla
|
||||
185:
|
||||
id: "¹"
|
||||
title: Superscript One
|
||||
186:
|
||||
id: "º"
|
||||
title: Masculine Ordinal
|
||||
187:
|
||||
id: "»"
|
||||
title: Double Right Guillement
|
||||
188:
|
||||
id: "¼"
|
||||
title: One Quarter Fraction
|
||||
189:
|
||||
id: "½"
|
||||
title: One Half Fraction
|
||||
190:
|
||||
id: "¾"
|
||||
title: Three Quarters Fraction
|
||||
191:
|
||||
id: "¿"
|
||||
title: Inverted Question
|
||||
192:
|
||||
id: "À"
|
||||
title: Captial A Grave
|
||||
193:
|
||||
id: "Á"
|
||||
194:
|
||||
id: "Â"
|
||||
195:
|
||||
id: "Ã"
|
||||
196:
|
||||
id: "Ä"
|
||||
197:
|
||||
id: "Å"
|
||||
198:
|
||||
id: "Æ"
|
||||
199:
|
||||
id: "Ç"
|
||||
200:
|
||||
id: "È"
|
||||
201:
|
||||
id: "É"
|
||||
202:
|
||||
id: "Ê"
|
||||
203:
|
||||
id: "Ë"
|
||||
204:
|
||||
id: "Ì"
|
||||
205:
|
||||
id: "Í"
|
||||
206:
|
||||
id: "Î"
|
||||
207:
|
||||
id: "Ï"
|
||||
208:
|
||||
id: "Ð"
|
||||
209:
|
||||
id: "Ñ"
|
||||
210:
|
||||
id: "Ò"
|
||||
211:
|
||||
id: "Ó"
|
||||
212:
|
||||
id: "Ô"
|
||||
213:
|
||||
id: "Õ"
|
||||
214:
|
||||
id: "Ö"
|
||||
215:
|
||||
id: "×"
|
||||
216:
|
||||
id: "Ø"
|
||||
217:
|
||||
id: "Ù"
|
||||
218:
|
||||
id: "Ú"
|
||||
219:
|
||||
id: "Û"
|
||||
220:
|
||||
id: "Ü"
|
||||
221:
|
||||
id: "Ý"
|
||||
222:
|
||||
id: "Þ"
|
||||
223:
|
||||
id: "ß"
|
||||
224:
|
||||
id: "à"
|
||||
225:
|
||||
id: "á"
|
||||
226:
|
||||
id: "â"
|
||||
227:
|
||||
id: "ã"
|
||||
228:
|
||||
id: "ä"
|
||||
229:
|
||||
id: "å"
|
||||
230:
|
||||
id: "æ"
|
||||
231:
|
||||
id: "ç"
|
||||
232:
|
||||
id: "è"
|
||||
233:
|
||||
id: "é"
|
||||
234:
|
||||
id: "ê"
|
||||
235:
|
||||
id: "ë"
|
||||
236:
|
||||
id: "ì"
|
||||
237:
|
||||
id: "í"
|
||||
238:
|
||||
id: "î"
|
||||
239:
|
||||
id: "ï"
|
||||
240:
|
||||
id: "ð"
|
||||
241:
|
||||
id: "ñ"
|
||||
242:
|
||||
id: "ò"
|
||||
243:
|
||||
id: "ó"
|
||||
244:
|
||||
id: "ô"
|
||||
245:
|
||||
id: "õ"
|
||||
246:
|
||||
id: "ö"
|
||||
247:
|
||||
id: "÷"
|
||||
248:
|
||||
id: "ø"
|
||||
249:
|
||||
id: "ù"
|
||||
250:
|
||||
id: "ú"
|
||||
251:
|
||||
id: "û"
|
||||
252:
|
||||
id: "ü"
|
||||
253:
|
||||
id: "ý"
|
||||
254:
|
||||
id: "þ"
|
||||
255:
|
||||
id: "ÿ"
|
||||
title: Small y Diaeresis
|
||||
53
src/lib/assets/keymaps/keyboard.yml
Normal file
53
src/lib/assets/keymaps/keyboard.yml
Normal file
@@ -0,0 +1,53 @@
|
||||
name: Keyboard
|
||||
description: Keyboard specific actions
|
||||
icon: keyboard
|
||||
actions:
|
||||
512: &left_ctrl
|
||||
id: "LEFT_CTRL"
|
||||
title: Control Keyboard Modifier
|
||||
variant: left
|
||||
icon: keyboard_control_key
|
||||
513: &left_shift
|
||||
id: "LEFT_SHIFT"
|
||||
title: Shift Keyboard Modifier
|
||||
variant: left
|
||||
icon: shift
|
||||
514: &left_alt
|
||||
id: "LEFT_ALT"
|
||||
title: Alt Keyboard Modifier
|
||||
variant: left
|
||||
icon: keyboard_option_key
|
||||
515: &left_gui
|
||||
id: "LEFT_GUI"
|
||||
title: GUI Keyboard Modifier
|
||||
variant: left
|
||||
icon: keyboard_command_key
|
||||
516:
|
||||
variationOf: 512
|
||||
<<: *left_ctrl
|
||||
id: "RIGHT_CTRL"
|
||||
variant: right
|
||||
517:
|
||||
variationOf: 513
|
||||
<<: *left_shift
|
||||
id: "RIGHT_SHIFT"
|
||||
518:
|
||||
variationOf: 514
|
||||
<<: *left_alt
|
||||
id: "RIGHT_ALT"
|
||||
519:
|
||||
variationOf: 515
|
||||
<<: *left_gui
|
||||
id: "RIGHT_GUI"
|
||||
520:
|
||||
id: "RELEASE_MOD"
|
||||
title: Release all keyboard modifiers
|
||||
icon: step_out
|
||||
521:
|
||||
id: "RELEASE_ALL"
|
||||
title: Release all keys and keyboard modifiers
|
||||
icon: merge_type
|
||||
522:
|
||||
id: "RELEASE_KEYS"
|
||||
title: Release all keys, but not keyboard modifiers
|
||||
icon: text_rotate_up
|
||||
16
src/lib/assets/keymaps/keymap.d.ts
vendored
Normal file
16
src/lib/assets/keymaps/keymap.d.ts
vendored
Normal file
@@ -0,0 +1,16 @@
|
||||
export interface KeymapCategory {
|
||||
name: string
|
||||
description: string
|
||||
icon?: string
|
||||
type?: "unassigned"
|
||||
actions: Record<number, Partial<ActionInfo>>
|
||||
}
|
||||
|
||||
export interface ActionInfo {
|
||||
id: string
|
||||
title: string
|
||||
icon: string
|
||||
description: string
|
||||
variant: "left" | "right"
|
||||
variantOf: number
|
||||
}
|
||||
56
src/lib/assets/keymaps/mouse.yml
Normal file
56
src/lib/assets/keymaps/mouse.yml
Normal file
@@ -0,0 +1,56 @@
|
||||
name: Mouse
|
||||
description: Mouse Actions
|
||||
icon: mouse
|
||||
actions:
|
||||
560:
|
||||
id: "MS_CLICK_BWD"
|
||||
title: Mouse Backward Button Click
|
||||
icon: drag_click
|
||||
561:
|
||||
id: "MS_CLICK_FWD"
|
||||
title: Mouse Forward Button Click
|
||||
icon: ads_click
|
||||
562:
|
||||
id: "MS_CLICK_LF"
|
||||
title: Mouse Left Click
|
||||
icon: left_click
|
||||
563:
|
||||
id: "MS_CLICK_RT"
|
||||
title: Mouse Right Click
|
||||
icon: right_click
|
||||
564:
|
||||
id: "MS_CLICK_MD"
|
||||
title: Mouse Middle Click
|
||||
icon: touchpad_mouse
|
||||
565:
|
||||
id: "MS_MOVE_RT"
|
||||
title: Mouse Move Right
|
||||
icon: arrow_circle_right
|
||||
566:
|
||||
id: "MS_MOVE_LF"
|
||||
title: Mouse Move Left
|
||||
icon: arrow_circle_left
|
||||
567:
|
||||
id: "MS_MOVE_DN"
|
||||
title: Mouse Move Down
|
||||
icon: arrow_circle_down
|
||||
568:
|
||||
id: "MS_MOVE_UP"
|
||||
title: Mouse Move Up
|
||||
icon: arrow_circle_up
|
||||
569:
|
||||
id: "MS_SCRL_RT"
|
||||
title: Mouse Scroll Right
|
||||
icon: swipe_right
|
||||
570:
|
||||
id: "MS_SCRL_LF"
|
||||
title: Mouse Scroll Left
|
||||
icon: swipe_left
|
||||
571:
|
||||
id: "MS_SCRL_DN"
|
||||
title: Mouse Scroll Down
|
||||
icon: swipe_down
|
||||
572:
|
||||
id: "MS_SCRL_UP"
|
||||
title: "Mouse Scroll Up"
|
||||
icon: swipe_up
|
||||
933
src/lib/assets/keymaps/scancode.yml
Normal file
933
src/lib/assets/keymaps/scancode.yml
Normal file
@@ -0,0 +1,933 @@
|
||||
name: Raw Scancodes
|
||||
description: Raw Keyboard Scancodes
|
||||
actions:
|
||||
256:
|
||||
id: "KSC_00"
|
||||
title: No Key Pressed
|
||||
257:
|
||||
id: "KSC_01"
|
||||
title: Keyboard Error Roll Over
|
||||
258:
|
||||
id: "KSC_02"
|
||||
title: Keyboard POST Fail
|
||||
259:
|
||||
id: "KSC_03"
|
||||
title: Keyboard Error Undefined
|
||||
260:
|
||||
id: "KEY_A"
|
||||
title: Keyboard a and A (US English)
|
||||
description: Non US English keyboard users may prefer these Raw Scancodes
|
||||
261:
|
||||
id: "KEY_B"
|
||||
title: Keyboard b and B (US English)
|
||||
262:
|
||||
id: "KEY_C"
|
||||
title: Keyboard c and C (US English)
|
||||
263:
|
||||
id: "KEY_D"
|
||||
title: Keyboard d and D (US English)
|
||||
264:
|
||||
id: "KEY_E"
|
||||
title: Keyboard e and E (US English)
|
||||
265:
|
||||
id: "KEY_F"
|
||||
title: Keyboard f and F (US English)
|
||||
266:
|
||||
id: "KEY_G"
|
||||
title: Keyboard g and G (US English)
|
||||
267:
|
||||
id: "KEY_H"
|
||||
title: Keyboard h and H (US English)
|
||||
268:
|
||||
id: "KEY_I"
|
||||
title: Keyboard i and I (US English)
|
||||
269:
|
||||
id: "KEY_J"
|
||||
title: Keyboard j and J (US English)
|
||||
270:
|
||||
id: "KEY_K"
|
||||
title: Keyboard k and K (US English)
|
||||
271:
|
||||
id: "KEY_L"
|
||||
title: Keyboard l and L (US English)
|
||||
272:
|
||||
id: "KEY_M"
|
||||
title: Keyboard m and M (US English)
|
||||
273:
|
||||
id: "KEY_N"
|
||||
title: Keyboard n and N (US English)
|
||||
274:
|
||||
id: "KEY_O"
|
||||
title: Keyboard o and O (US English)
|
||||
275:
|
||||
id: "KEY_P"
|
||||
title: Keyboard p and P (US English)
|
||||
276:
|
||||
id: "KEY_Q"
|
||||
title: Keyboard q and Q (US English)
|
||||
277:
|
||||
id: "KEY_R"
|
||||
title: Keyboard r and R (US English)
|
||||
278:
|
||||
id: "KEY_S"
|
||||
title: Keyboard s and S (US English)
|
||||
279:
|
||||
id: "KEY_T"
|
||||
title: Keyboard t and T (US English)
|
||||
280:
|
||||
id: "KEY_U"
|
||||
title: Keyboard u and U (US English)
|
||||
281:
|
||||
id: "KEY_V"
|
||||
title: Keyboard v and V (US English)
|
||||
282:
|
||||
id: "KEY_W"
|
||||
title: Keyboard w and W (US English)
|
||||
283:
|
||||
id: "KEY_X"
|
||||
title: Keyboard x and X (US English)
|
||||
284:
|
||||
id: "KEY_Y"
|
||||
title: Keyboard y and Y (US English)
|
||||
285:
|
||||
id: "KEY_Z"
|
||||
title: Keyboard z and Z (US English)
|
||||
286:
|
||||
id: "KEY_1"
|
||||
title: Keyboard 1 and ! (US English)
|
||||
287:
|
||||
id: "KEY_2"
|
||||
title: Keyboard 2 and @ (US English)
|
||||
288:
|
||||
id: "KEY_3"
|
||||
title: Keyboard 3 and # (US English)
|
||||
289:
|
||||
id: "KEY_4"
|
||||
title: Keyboard 4 and $ (US English)
|
||||
290:
|
||||
id: "KEY_5"
|
||||
title: Keyboard 5 and % (US English)
|
||||
291:
|
||||
id: "KEY_6"
|
||||
title: Keyboard 6 and ^ (US English)
|
||||
292:
|
||||
id: "KEY_7"
|
||||
title: Keyboard 7 and & (US English)
|
||||
293:
|
||||
id: "KEY_8"
|
||||
title: Keyboard 8 and * (US English)
|
||||
294:
|
||||
id: "KEY_9"
|
||||
title: Keyboard 9 and ( (US English)
|
||||
295:
|
||||
id: "KEY_0"
|
||||
title: Keyboard 0 and ) (US English)
|
||||
296:
|
||||
id: "ENTER"
|
||||
title: Keyboard Return (US English)
|
||||
icon: keyboard_return
|
||||
297:
|
||||
id: "ESC"
|
||||
title: Keyboard Escape (US English)
|
||||
298:
|
||||
id: "BKSP"
|
||||
title: Keyboard Backspace (US English)
|
||||
icon: backspace
|
||||
299:
|
||||
id: "TAB"
|
||||
title: Keyboard Tab (US English)
|
||||
icon: keyboard_tab
|
||||
300:
|
||||
id: "KSC_2C"
|
||||
title: Keyboard Space (US English)
|
||||
description: |
|
||||
The ASCII space is preferred over this raw scancode for the space bar.
|
||||
icon: space_bar
|
||||
301:
|
||||
id: "KSC_2D"
|
||||
title: Keyboard - and _ (US English)
|
||||
302:
|
||||
id: "KSC_2E"
|
||||
title: Keyboard = and + (US English)
|
||||
303:
|
||||
id: "KSC_2F"
|
||||
title: Keyboard [ and { (US English)
|
||||
304:
|
||||
id: "KSC_30"
|
||||
title: Keyboard ] and } (US English)
|
||||
305:
|
||||
id: "KSC_31"
|
||||
title: Keyboard \ and | (US English)
|
||||
306:
|
||||
id: "KSC_32"
|
||||
title: Keyboard Non-US \# and ~ (US English)
|
||||
307:
|
||||
id: "KSC_33"
|
||||
title: "Keyboard ; and : (US English)"
|
||||
308:
|
||||
id: "KSC_34"
|
||||
title: Keyboard ' and " (US English)
|
||||
309:
|
||||
id: "KSC_35"
|
||||
title: Keyboard ` and ~ (US English)
|
||||
310:
|
||||
id: "KSC_36"
|
||||
title: Keyboard , and < (US English)
|
||||
311:
|
||||
id: "KSC_37"
|
||||
title: Keyboard . and > (US English)
|
||||
312:
|
||||
id: "KSC_38"
|
||||
title: Keyboard / and ? (US English)
|
||||
313:
|
||||
id: "CAPSLOCK"
|
||||
title: Keyboard Caps Lock
|
||||
icon: shift_lock
|
||||
314:
|
||||
id: "F1"
|
||||
title: Keyboard F1
|
||||
315:
|
||||
id: "F2"
|
||||
title: Keyboard F2
|
||||
316:
|
||||
id: "F3"
|
||||
title: Keyboard F3
|
||||
317:
|
||||
id: "F4"
|
||||
title: Keyboard F4
|
||||
318:
|
||||
id: "F5"
|
||||
title: Keyboard F5
|
||||
319:
|
||||
id: "F6"
|
||||
title: Keyboard F6
|
||||
320:
|
||||
id: "F7"
|
||||
title: Keyboard F7
|
||||
321:
|
||||
id: "F8"
|
||||
title: Keyboard F8
|
||||
322:
|
||||
id: "F9"
|
||||
title: Keyboard F9
|
||||
323:
|
||||
id: "F10"
|
||||
title: Keyboard F10
|
||||
324:
|
||||
id: "F11"
|
||||
title: Keyboard F11
|
||||
325:
|
||||
id: "F12"
|
||||
title: Keyboard F12
|
||||
326:
|
||||
id: "PRTSCN"
|
||||
title: Keyboard Print Screen
|
||||
icon: screenshot_monitor
|
||||
327:
|
||||
id: "SCRLK"
|
||||
title: Keyboard Scroll Lock
|
||||
328:
|
||||
id: "PAUSE"
|
||||
title: Keyboard Pause
|
||||
329:
|
||||
id: "INSERT"
|
||||
title: Keyboard Insert
|
||||
icon: insert_text
|
||||
330:
|
||||
id: "HOME"
|
||||
title: Keyboard Home
|
||||
icon: home
|
||||
331:
|
||||
id: "PGUP"
|
||||
title: Keyboard Page Up
|
||||
icon: move_up
|
||||
332:
|
||||
id: "DELETE"
|
||||
title: Keyboard Delete Forward
|
||||
333:
|
||||
id: "END"
|
||||
title: Keyboard End
|
||||
334:
|
||||
id: "PGDN"
|
||||
title: Keyboard Page Down
|
||||
icon: move_down
|
||||
335:
|
||||
id: "ARROW_RT"
|
||||
title: Keyboard Right Arrow
|
||||
icon: keyboard_arrow_right
|
||||
336:
|
||||
id: "ARROW_LF"
|
||||
title: Keyboard Left Arrow
|
||||
icon: keyboard_arrow_left
|
||||
337:
|
||||
id: "ARROW_DN"
|
||||
title: Keyboard Down Arrow
|
||||
icon: keyboard_arrow_down
|
||||
338:
|
||||
id: "ARROW_UP"
|
||||
title: Keyboard Up Arrow
|
||||
icon: keyboard_arrow_up
|
||||
339:
|
||||
id: "NUMLOCK"
|
||||
title: Keyboard Num Lock and Clear
|
||||
340:
|
||||
id: "KP_SLASH"
|
||||
title: Keypad /
|
||||
341:
|
||||
id: "KP_ASTER"
|
||||
title: Keypad *
|
||||
342:
|
||||
id: "KP_MINUS"
|
||||
title: Keypad -
|
||||
343:
|
||||
id: "KP_PLUS"
|
||||
title: Keypad +
|
||||
344:
|
||||
id: "KP_ENTER"
|
||||
title: Keypad Enter
|
||||
345:
|
||||
id: "KP_1"
|
||||
title: Keypad 1 and End
|
||||
346:
|
||||
id: "KP_2"
|
||||
title: Keypad 2 and Down Arrow
|
||||
347:
|
||||
id: "KP_3"
|
||||
title: Keypad 3 and Page Down
|
||||
348:
|
||||
id: "KP_4"
|
||||
title: Keypad 4 and Left Arrow
|
||||
349:
|
||||
id: "KP_5"
|
||||
title: Keypad 5
|
||||
350:
|
||||
id: "KP_6"
|
||||
title: Keypad 6 and Rigth Arrow
|
||||
351:
|
||||
id: "KP_7"
|
||||
title: Keypad 7 and Home
|
||||
352:
|
||||
id: "KP_8"
|
||||
title: Keypad 8 and Up Arrow
|
||||
353:
|
||||
id: "KP_9"
|
||||
title: Keypad 9 and Page Up
|
||||
354:
|
||||
id: "KP_0"
|
||||
title: Keypad 0 and Insert
|
||||
355:
|
||||
id: "KP_DOT"
|
||||
title: Keypad . and Delete
|
||||
356:
|
||||
id: "KSC_64"
|
||||
title: Keyboard Non-US \ and | (US English)
|
||||
357:
|
||||
id: "COMPOSE"
|
||||
title: Keyboard Application
|
||||
description: Officially supported by Win, Unix, and Boot
|
||||
358:
|
||||
id: "POWER"
|
||||
title: Keyboard Power
|
||||
description: Only officially supported by Mac and Unix
|
||||
359:
|
||||
id: "KP_EQUAL"
|
||||
title: Keypad =
|
||||
description: Only officially supported by Mac
|
||||
360:
|
||||
id: "F13"
|
||||
title: Keyboard F13
|
||||
description: Only officially supported by Mac
|
||||
361:
|
||||
id: "F14"
|
||||
title: Keyboard F14
|
||||
description: Only officially supported by Mac
|
||||
362:
|
||||
id: "F15"
|
||||
title: Keyboard F15
|
||||
description: Only officially supported by Mac
|
||||
363:
|
||||
id: "F16"
|
||||
title: Keyboard F16
|
||||
description: Only officially supported by Mac
|
||||
364:
|
||||
id: "F17"
|
||||
title: Keyboard F17
|
||||
description: Not required to be supported by any OS
|
||||
365:
|
||||
id: "F18"
|
||||
title: Keyboard F18
|
||||
description: Not required to be supported by any OS
|
||||
366:
|
||||
id: "F19"
|
||||
title: Keyboard F19
|
||||
description: Not required to be supported by any OS
|
||||
367:
|
||||
id: "F20"
|
||||
title: Keyboard F20
|
||||
description: Not required to be supported by any OS
|
||||
368:
|
||||
id: "F21"
|
||||
title: Keyboard F21
|
||||
description: Not required to be supported by any OS
|
||||
369:
|
||||
id: "F22"
|
||||
title: Keyboard F22
|
||||
description: Not required to be supported by any OS
|
||||
370:
|
||||
id: "F23"
|
||||
title: Keyboard F23
|
||||
description: Not required to be supported by any OS
|
||||
371:
|
||||
id: "F24"
|
||||
title: Keyboard F24
|
||||
description: Not required to be supported by any OS
|
||||
372:
|
||||
id: "EXECUTE"
|
||||
title: Keyboard Execute
|
||||
description: Only officially supported by Unix
|
||||
icon: terminal
|
||||
373:
|
||||
id: "HELP"
|
||||
title: Keyboard Help
|
||||
description: Only officially supported by Unix
|
||||
icon: help
|
||||
374:
|
||||
id: "MENU"
|
||||
title: Keyboard Menu
|
||||
description: Only officially supported by Unix
|
||||
icon: menu
|
||||
375:
|
||||
id: "SELECT"
|
||||
title: Keyboard Select
|
||||
description: Only officially supported by Unix
|
||||
icon: select
|
||||
376:
|
||||
id: "STOP"
|
||||
title: Keyboard Stop
|
||||
description: Only officially supported by Unix
|
||||
icon: stop_circle
|
||||
377:
|
||||
id: "AGAIN"
|
||||
title: Keyboard Again
|
||||
description: Only officially supported by Unix
|
||||
icon: redo
|
||||
378:
|
||||
id: "UNDO"
|
||||
title: Keyboard Undo
|
||||
description: Only officially supported by Unix
|
||||
icon: undo
|
||||
379:
|
||||
id: "CUT"
|
||||
title: Keyboard Cut
|
||||
description: Only officially supported by Unix
|
||||
icon: content_cut
|
||||
380:
|
||||
id: "COPY"
|
||||
title: Keyboard Copy
|
||||
description: Only officially supported by Unix
|
||||
icon: content_copy
|
||||
381:
|
||||
id: "PASTE"
|
||||
title: Keyboard Paste
|
||||
description: Only officially supported by Unix
|
||||
icon: content_paste
|
||||
382:
|
||||
id: "FIND"
|
||||
title: Keyboard Find
|
||||
description: Only officially supported by Unix
|
||||
icon: search
|
||||
383:
|
||||
id: "MUTE"
|
||||
title: Keyboard Mute
|
||||
description: Only officially supported by Unix
|
||||
icon: no_sound
|
||||
384:
|
||||
id: "VOL_UP"
|
||||
title: Keyboard Volume Up
|
||||
description: Only officially supported by Unix
|
||||
icon: volume_up
|
||||
385:
|
||||
id: "VOL_DN"
|
||||
title: Keyboard Volume Down
|
||||
description: Only officially supported by Unix
|
||||
icon: volume_down
|
||||
386:
|
||||
id: "KSC_82"
|
||||
title: Keyboard Locking Caps Lock
|
||||
description: Only officially supported by Unix
|
||||
387:
|
||||
id: "KSC_83"
|
||||
title: Keyboard Locking Num Lock
|
||||
description: Only officially supported by Unix
|
||||
388:
|
||||
id: "KSC_84"
|
||||
title: Keyboard Locking Scroll Lock
|
||||
description: Only officially supported by Unix
|
||||
389:
|
||||
id: "KP_COMMA"
|
||||
title: Keypad Comma
|
||||
description: Not required to be supported by any OS
|
||||
390:
|
||||
id: "KSC_86"
|
||||
title: Keypad Equals Sign
|
||||
description: Not required to be supported by any OS
|
||||
391:
|
||||
id: "INTL1"
|
||||
title: Keyboard International1
|
||||
description: Not required to be supported by any OS
|
||||
392:
|
||||
id: "INTL2"
|
||||
title: Keyboard International2
|
||||
description: Not required to be supported by any OS
|
||||
393:
|
||||
id: "INTL3"
|
||||
title: Keyboard International3
|
||||
description: Not required to be supported by any OS
|
||||
394:
|
||||
id: "INTL4"
|
||||
title: Keyboard International4
|
||||
description: Not required to be supported by any OS
|
||||
395:
|
||||
id: "INTL5"
|
||||
title: Keyboard International5
|
||||
description: Not required to be supported by any OS
|
||||
396:
|
||||
id: "INTL6"
|
||||
title: Keyboard International6
|
||||
description: Not required to be supported by any OS
|
||||
397:
|
||||
id: "INTL7"
|
||||
title: Keyboard International7
|
||||
description: Not required to be supported by any OS
|
||||
398:
|
||||
id: "INTL8"
|
||||
title: Keyboard International8
|
||||
description: Not required to be supported by any OS
|
||||
399:
|
||||
id: "INTL9"
|
||||
title: Keyboard International9
|
||||
description: Not required to be supported by any OS
|
||||
400:
|
||||
id: "LANG1"
|
||||
title: Keyboard LANG1
|
||||
description: Not required to be supported by any OS
|
||||
401:
|
||||
id: "LANG2"
|
||||
title: Keyboard LANG2
|
||||
description: Not required to be supported by any OS
|
||||
402:
|
||||
id: "LANG3"
|
||||
title: Keyboard LANG3
|
||||
description: Not required to be supported by any OS
|
||||
403:
|
||||
id: "LANG4"
|
||||
title: Keyboard LANG4
|
||||
description: Not required to be supported by any OS
|
||||
404:
|
||||
id: "LANG5"
|
||||
title: Keyboard LANG5
|
||||
description: Not required to be supported by any OS
|
||||
405:
|
||||
id: "LANG6"
|
||||
title: Keyboard LANG6
|
||||
description: Not required to be supported by any OS
|
||||
406:
|
||||
id: "LANG7"
|
||||
title: Keyboard LANG7
|
||||
description: Not required to be supported by any OS
|
||||
407:
|
||||
id: "LANG8"
|
||||
title: Keyboard LANG8
|
||||
description: Not required to be supported by any OS
|
||||
408:
|
||||
id: "LANG9"
|
||||
title: Keyboard LANG9
|
||||
description: Not required to be supported by any OS
|
||||
409:
|
||||
id: "KSC_99"
|
||||
title: Keyboard Alternate Erase
|
||||
description: Not required to be supported by any OS
|
||||
410:
|
||||
id: "KSC_9A"
|
||||
title: Keyboard SysReq/Attention
|
||||
description: Not required to be supported by any OS
|
||||
411:
|
||||
id: "KSC_9B"
|
||||
title: Keyboard Cancel
|
||||
description: Not required to be supported by any OS
|
||||
412:
|
||||
id: "KSC_9C"
|
||||
title: Keyboard Clear
|
||||
description: Not required to be supported by any OS
|
||||
413:
|
||||
id: "KSC_9D"
|
||||
title: Keyboard Prior
|
||||
description: Not required to be supported by any OS
|
||||
414:
|
||||
id: "KSC_9E"
|
||||
title: Keyboard Return
|
||||
description: Not required to be supported by any OS
|
||||
415:
|
||||
id: "KSC_9F"
|
||||
title: Keyboard Separator
|
||||
description: Not required to be supported by any OS
|
||||
416:
|
||||
id: "KSC_A0"
|
||||
title: Keyboard Out
|
||||
description: Not required to be supported by any OS
|
||||
417:
|
||||
id: "KSC_A1"
|
||||
title: Keyboard Oper
|
||||
description: Not required to be supported by any OS
|
||||
418:
|
||||
id: "KSC_A2"
|
||||
title: Keyboard Clear/Again
|
||||
description: Not required to be supported by any OS
|
||||
419:
|
||||
id: "KSC_A3"
|
||||
title: Keyboard CrSel/Props
|
||||
description: Not required to be supported by any OS
|
||||
420:
|
||||
id: "KSC_A4"
|
||||
title: Keyboard ExSel
|
||||
description: Not required to be supported by any OS
|
||||
421:
|
||||
id: "KSC_A5"
|
||||
description: Not required to be supported by any OS
|
||||
422:
|
||||
id: "KSC_A6"
|
||||
description: Not required to be supported by any OS
|
||||
423:
|
||||
id: "KSC_A7"
|
||||
description: Not required to be supported by any OS
|
||||
424:
|
||||
id: "KSC_A8"
|
||||
description: Not required to be supported by any OS
|
||||
425:
|
||||
id: "KSC_A9"
|
||||
description: Not required to be supported by any OS
|
||||
426:
|
||||
id: "KSC_AA"
|
||||
description: Not required to be supported by any OS
|
||||
427:
|
||||
id: "KSC_AB"
|
||||
description: Not required to be supported by any OS
|
||||
428:
|
||||
id: "KSC_AC"
|
||||
description: Not required to be supported by any OS
|
||||
429:
|
||||
id: "KSC_AD"
|
||||
description: Not required to be supported by any OS
|
||||
430:
|
||||
id: "KSC_AE"
|
||||
description: Not required to be supported by any OS
|
||||
431:
|
||||
id: "KSC_AF"
|
||||
description: Not required to be supported by any OS
|
||||
432:
|
||||
id: "KSC_B0"
|
||||
title: Keypad 00
|
||||
description: Not required to be supported by any OS
|
||||
433:
|
||||
id: "KSC_B1"
|
||||
title: Keypad 000
|
||||
description: Not required to be supported by any OS
|
||||
434:
|
||||
id: "KSC_B2"
|
||||
title: Thousands Separator
|
||||
description: Not required to be supported by any OS
|
||||
435:
|
||||
id: "KSC_B3"
|
||||
title: Decimal Separator
|
||||
description: Not required to be supported by any OS
|
||||
436:
|
||||
id: "KSC_B4"
|
||||
title: Currency Unit
|
||||
description: Not required to be supported by any OS
|
||||
437:
|
||||
id: "KSC_B5"
|
||||
title: Currency Sub-unit
|
||||
description: Not required to be supported by any OS
|
||||
438:
|
||||
id: "KSC_B6"
|
||||
title: Keypad (
|
||||
description: Not required to be supported by any OS
|
||||
439:
|
||||
id: "KSC_B7"
|
||||
title: Keypad )
|
||||
description: Not required to be supported by any OS
|
||||
440:
|
||||
id: "KSC_B8"
|
||||
title: Keypad {
|
||||
description: Not required to be supported by any OS
|
||||
441:
|
||||
id: "KSC_B9"
|
||||
title: Keypad }
|
||||
description: Not required to be supported by any OS
|
||||
442:
|
||||
id: "KSC_BA"
|
||||
title: Keypad Tab
|
||||
description: Not required to be supported by any OS
|
||||
443:
|
||||
id: "KSC_BB"
|
||||
title: Keypad Backspace
|
||||
description: Not required to be supported by any OS
|
||||
444:
|
||||
id: "KSC_BC"
|
||||
title: Keypad A
|
||||
description: Not required to be supported by any OS
|
||||
445:
|
||||
id: "KSC_BD"
|
||||
title: Keypad B
|
||||
description: Not required to be supported by any OS
|
||||
446:
|
||||
id: "KSC_BE"
|
||||
title: Keypad C
|
||||
description: Not required to be supported by any OS
|
||||
447:
|
||||
id: "KSC_BF"
|
||||
title: Keypad D
|
||||
description: Not required to be supported by any OS
|
||||
448:
|
||||
id: "KSC_C0"
|
||||
title: Keypad E
|
||||
description: Not required to be supported by any OS
|
||||
449:
|
||||
id: "KSC_C1"
|
||||
title: Keypad F
|
||||
description: Not required to be supported by any OS
|
||||
450:
|
||||
id: "KSC_C2"
|
||||
title: Keypad XOR
|
||||
description: Not required to be supported by any OS
|
||||
451:
|
||||
id: "KSC_C3"
|
||||
title: Keypad ^
|
||||
description: Not required to be supported by any OS
|
||||
452:
|
||||
id: "KSC_C4"
|
||||
title: Keypad %
|
||||
description: Not required to be supported by any OS
|
||||
453:
|
||||
id: "KSC_C5"
|
||||
title: Keypad <
|
||||
description: Not required to be supported by any OS
|
||||
454:
|
||||
id: "KSC_C6"
|
||||
title: Keypad >
|
||||
description: Not required to be supported by any OS
|
||||
455:
|
||||
id: "KSC_C7"
|
||||
title: Keypad &
|
||||
description: Not required to be supported by any OS
|
||||
456:
|
||||
id: "KSC_C8"
|
||||
title: Keypad &&
|
||||
description: Not required to be supported by any OS
|
||||
457:
|
||||
id: "KSC_C9"
|
||||
title: Keypad |
|
||||
description: Not required to be supported by any OS
|
||||
458:
|
||||
id: "KSC_CA"
|
||||
title: Keypad ||
|
||||
description: Not required to be supported by any OS
|
||||
459:
|
||||
id: "KSC_CB"
|
||||
title:
|
||||
Keypad:
|
||||
description: Not required to be supported by any OS
|
||||
460:
|
||||
id: "KSC_CC"
|
||||
title: Keypad #
|
||||
description: Not required to be supported by any OS
|
||||
461:
|
||||
id: "KSC_CD"
|
||||
title: Keypad Space
|
||||
description: Not required to be supported by any OS
|
||||
462:
|
||||
id: "KSC_CE"
|
||||
title: Keypad @
|
||||
description: Not required to be supported by any OS
|
||||
463:
|
||||
id: "KSC_CF"
|
||||
title: Keypad !
|
||||
description: Not required to be supported by any OS
|
||||
464:
|
||||
id: "KSC_D0"
|
||||
title: Keypad Memory Store
|
||||
description: Not required to be supported by any OS
|
||||
465:
|
||||
id: "KSC_D1"
|
||||
title: Keypad Memory Recall
|
||||
description: Not required to be supported by any OS
|
||||
466:
|
||||
id: "KSC_D2"
|
||||
title: Keypad Memory Clear
|
||||
description: Not required to be supported by any OS
|
||||
467:
|
||||
id: "KSC_D3"
|
||||
title: Keypad Memory Add
|
||||
description: Not required to be supported by any OS
|
||||
468:
|
||||
id: "KSC_D4"
|
||||
title: Keypad Memory Subtract
|
||||
description: Not required to be supported by any OS
|
||||
469:
|
||||
id: "KSC_D5"
|
||||
title: Keypad Memory Multiply
|
||||
description: Not required to be supported by any OS
|
||||
470:
|
||||
id: "KSC_D6"
|
||||
title: Keypad Memory Divide
|
||||
description: Not required to be supported by any OS
|
||||
471:
|
||||
id: "KSC_D7"
|
||||
title: Keypad +/-
|
||||
description: Not required to be supported by any OS
|
||||
472:
|
||||
id: "KSC_D8"
|
||||
title: Keypad Clear
|
||||
description: Not required to be supported by any OS
|
||||
473:
|
||||
id: "KSC_D9"
|
||||
title: Keypad Clear Entry
|
||||
description: Not required to be supported by any OS
|
||||
474:
|
||||
id: "KSC_DA"
|
||||
title: Keypad Binary
|
||||
description: Not required to be supported by any OS
|
||||
475:
|
||||
id: "KSC_DB"
|
||||
title: Keypad Octal
|
||||
description: Not required to be supported by any OS
|
||||
476:
|
||||
id: "KSC_DC"
|
||||
title: Keypad Decimal
|
||||
description: Not required to be supported by any OS
|
||||
477:
|
||||
id: "KSC_DD"
|
||||
title: Keypad Hexadecimal
|
||||
description: Not required to be supported by any OS
|
||||
478:
|
||||
id: "KSC_DE"
|
||||
description: Not required to be supported by any OS
|
||||
479:
|
||||
id: "KSC_DF"
|
||||
description: Not required to be supported by any OS
|
||||
480:
|
||||
id: "KSC_E0"
|
||||
title: Keyboard Left Control
|
||||
481:
|
||||
id: "KSC_E1"
|
||||
title: Keyboard Left Shift
|
||||
482:
|
||||
id: "KSC_E2"
|
||||
title: Keyboard Left Alt
|
||||
483:
|
||||
id: "KSC_E3"
|
||||
title: Keyboard Left GUI
|
||||
484:
|
||||
id: "KSC_E4"
|
||||
title: Keyboard Right Control
|
||||
485:
|
||||
id: "KSC_E5"
|
||||
title: Keyboard Right Shift
|
||||
486:
|
||||
id: "KSC_E6"
|
||||
title: Keyboard Right Alt
|
||||
487:
|
||||
id: "KSC_E7"
|
||||
title: Keyboard Right GUI
|
||||
488:
|
||||
id: "KSC_E8"
|
||||
title: Media Play Pause
|
||||
description: Not required to be supported by any OS. Possibly deprecated.
|
||||
489:
|
||||
id: "KSC_E9"
|
||||
title: Media Stop CD
|
||||
description: Not required to be supported by any OS. Possibly deprecated.
|
||||
490:
|
||||
id: "KSC_EA"
|
||||
title: Media Previous Song
|
||||
description: Not required to be supported by any OS. Possibly deprecated.
|
||||
491:
|
||||
id: "KSC_EB"
|
||||
title: Media Next Song
|
||||
description: Not required to be supported by any OS. Possibly deprecated.
|
||||
492:
|
||||
id: "KSC_EC"
|
||||
title: Media Eject CD
|
||||
description: Not required to be supported by any OS. Possibly deprecated.
|
||||
493:
|
||||
id: "KSC_ED"
|
||||
title: Media Volume Up
|
||||
description: Not required to be supported by any OS. Possibly deprecated.
|
||||
494:
|
||||
id: "KSC_EE"
|
||||
title: Media Volume Down
|
||||
description: Not required to be supported by any OS. Possibly deprecated.
|
||||
495:
|
||||
id: "KSC_EF"
|
||||
title: Media Mute
|
||||
description: Not required to be supported by any OS. Possibly deprecated.
|
||||
496:
|
||||
id: "KSC_F0"
|
||||
title: Media www
|
||||
description: Not required to be supported by any OS. Possibly deprecated.
|
||||
497:
|
||||
id: "KSC_F1"
|
||||
title: Media Back
|
||||
description: Not required to be supported by any OS. Possibly deprecated.
|
||||
498:
|
||||
id: "KSC_F2"
|
||||
title: Media Forward
|
||||
description: Not required to be supported by any OS. Possibly deprecated.
|
||||
499:
|
||||
id: "KSC_F3"
|
||||
title: Media Stop
|
||||
description: Not required to be supported by any OS. Possibly deprecated.
|
||||
500:
|
||||
id: "KSC_F4"
|
||||
title: Media Find
|
||||
description: Not required to be supported by any OS. Possibly deprecated.
|
||||
501:
|
||||
id: "KSC_F5"
|
||||
title: Media Scroll Up
|
||||
description: Not required to be supported by any OS. Possibly deprecated.
|
||||
502:
|
||||
id: "KSC_F6"
|
||||
title: Media Scroll Down
|
||||
description: Not required to be supported by any OS. Possibly deprecated.
|
||||
503:
|
||||
id: "KSC_F7"
|
||||
title: Media Edit
|
||||
description: Not required to be supported by any OS. Possibly deprecated.
|
||||
504:
|
||||
id: "KSC_F8"
|
||||
title: Media Sleep
|
||||
description: Not required to be supported by any OS. Possibly deprecated.
|
||||
505:
|
||||
id: "KSC_F9"
|
||||
title: Media Coffee
|
||||
description: Not required to be supported by any OS. Possibly deprecated.
|
||||
506:
|
||||
id: "KSC_FA"
|
||||
title: Media Refresh
|
||||
description: Not required to be supported by any OS. Possibly deprecated.
|
||||
507:
|
||||
id: "KSC_FB"
|
||||
title: Media Calc
|
||||
description: Not required to be supported by any OS. Possibly deprecated.
|
||||
508:
|
||||
id: "KSC_FC"
|
||||
description: Not required to be supported by any OS.
|
||||
509:
|
||||
id: "KSC_FD"
|
||||
description: Not required to be supported by any OS.
|
||||
510:
|
||||
id: "KSC_FE"
|
||||
description: Not required to be supported by any OS.
|
||||
511:
|
||||
id: "KSC_FF"
|
||||
description: Not required to be supported by any OS.
|
||||
@@ -39,11 +39,12 @@
|
||||
{@const actions = getActions(id, $layout)}
|
||||
<button title={getKeyDescriptions(actions)}>
|
||||
{#each actions as keyInfo, layer}
|
||||
{@const displayTitle = keyInfo?.symbol || keyInfo?.id}
|
||||
{#if displayTitle}
|
||||
{#if keyInfo}
|
||||
<span
|
||||
class:active={virtualLayerMap[activeLayer] === virtualLayerMap[layer]}
|
||||
style="offset-distance: {offsetDistance(quadrant, layer, activeLayer)}%">{displayTitle}</span
|
||||
class:icon={!!keyInfo.icon}
|
||||
style="offset-distance: {offsetDistance(quadrant, layer, activeLayer)}%"
|
||||
>{keyInfo.icon || keyInfo.id || keyInfo.code}</span
|
||||
>
|
||||
{/if}
|
||||
{/each}
|
||||
@@ -59,6 +60,7 @@
|
||||
$size: 96;
|
||||
$offset: 14;
|
||||
$scale-difference: 0.2;
|
||||
$transition-time: 750ms;
|
||||
|
||||
.radial {
|
||||
position: relative;
|
||||
@@ -96,12 +98,18 @@
|
||||
|
||||
opacity: 0.2;
|
||||
|
||||
transition: scale 250ms ease, opacity 250ms ease, offset-distance 250ms ease;
|
||||
transition: scale $transition-time ease, opacity $transition-time ease,
|
||||
offset-distance $transition-time ease;
|
||||
|
||||
&.active {
|
||||
scale: 1;
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
&.icon {
|
||||
font-size: 20px;
|
||||
font-weight: 800;
|
||||
}
|
||||
}
|
||||
|
||||
button {
|
||||
|
||||
@@ -1,64 +1,21 @@
|
||||
import keymapCodes from "$lib/assets/keymap_codes.json"
|
||||
import keySymbols from "$lib/assets/key-symbols.json"
|
||||
import type {ActionInfo, KeymapCategory} from "$lib/assets/keymaps/keymap"
|
||||
|
||||
export interface KeyInfo {
|
||||
/**
|
||||
* Numeric action code
|
||||
*
|
||||
* @example 345
|
||||
*/
|
||||
export interface KeyInfo extends Partial<ActionInfo> {
|
||||
code: number
|
||||
/**
|
||||
* Long description of the action
|
||||
*
|
||||
* @example The space bar inserts a "Space" character, commonly used as a separator between words
|
||||
*/
|
||||
description?: string
|
||||
/**
|
||||
* Unique ID of the character
|
||||
*
|
||||
* @example SPACE
|
||||
*/
|
||||
id?: string
|
||||
/**
|
||||
* Short text representation of the action
|
||||
*
|
||||
* @example: Space Bar
|
||||
*/
|
||||
title?: string
|
||||
/**
|
||||
* Symbolic representation of the character (an icon)
|
||||
*
|
||||
* @example ␣
|
||||
*/
|
||||
symbol?: string
|
||||
/**
|
||||
* The charset or category the action belongs to
|
||||
*
|
||||
* @example ASCII
|
||||
*/
|
||||
charset?: CharsetCategory
|
||||
category: KeymapCategory
|
||||
}
|
||||
|
||||
export type CharsetCategory =
|
||||
| "None"
|
||||
| "ASCII"
|
||||
| "CP-1252"
|
||||
| "Raw Scancode"
|
||||
| "Keybard"
|
||||
| "CharaChorder"
|
||||
| "CharaChorder One"
|
||||
const keymaps = (await Promise.all(
|
||||
Object.values(import.meta.glob("$lib/assets/keymaps/*.yml")).map(async load =>
|
||||
load().then(it => (it as any).default),
|
||||
),
|
||||
)) as KeymapCategory[]
|
||||
|
||||
export const KEYMAP_CODES: Record<number, KeyInfo> = Object.fromEntries(
|
||||
keymapCodes.map(([code, charset, id, title, description]) => [
|
||||
code,
|
||||
{
|
||||
code: Number(code),
|
||||
title: title || undefined,
|
||||
charset: (charset || undefined) as CharsetCategory,
|
||||
id: id || undefined,
|
||||
symbol: id ? keySymbols[id as keyof typeof keySymbols] || undefined : undefined,
|
||||
description: description || undefined,
|
||||
},
|
||||
keymaps.flatMap(category =>
|
||||
Object.entries(category.actions).map(([code, action]) => [
|
||||
Number(code),
|
||||
{...action, code: Number(code), category},
|
||||
]),
|
||||
),
|
||||
)
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
{#each actions as action}
|
||||
{@const keyInfo = KEYMAP_CODES[action]}
|
||||
{#if keyInfo}
|
||||
<abbr title={keyInfo.title}>{keyInfo.symbol || keyInfo.id}</abbr>
|
||||
<abbr title={keyInfo.title} class:icon={!!keyInfo.icon}>{keyInfo.icon || keyInfo.id}</abbr>
|
||||
{:else}
|
||||
<pre>{action}</pre>
|
||||
{/if}
|
||||
@@ -35,17 +35,28 @@
|
||||
border-radius: 16px;
|
||||
}
|
||||
|
||||
table {
|
||||
min-width: min(90vw, 16.5cm);
|
||||
}
|
||||
|
||||
table abbr {
|
||||
display: block;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
|
||||
padding-block: 4px;
|
||||
padding-inline: 8px;
|
||||
|
||||
font-size: 16px;
|
||||
font-style: normal;
|
||||
text-decoration: none;
|
||||
|
||||
border: 1px solid var(--md-sys-color-outline);
|
||||
border-radius: 8px;
|
||||
|
||||
&.icon {
|
||||
font-size: 20px;
|
||||
}
|
||||
}
|
||||
|
||||
th {
|
||||
@@ -55,5 +66,7 @@
|
||||
td {
|
||||
display: flex;
|
||||
gap: 4px;
|
||||
align-items: stretch;
|
||||
justify-content: flex-end;
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -17,6 +17,8 @@ import {openSync} from "fontkit"
|
||||
import {exec} from "child_process"
|
||||
import config from "../../icons.config.js"
|
||||
import {statSync, existsSync} from "fs"
|
||||
import {readFile} from "fs/promises"
|
||||
import {glob} from "glob"
|
||||
|
||||
async function run(command: string[] | string): Promise<string> {
|
||||
const fullCommand = Array.isArray(command) ? command.join(" ") : command
|
||||
@@ -35,7 +37,14 @@ async function run(command: string[] | string): Promise<string> {
|
||||
})
|
||||
}
|
||||
|
||||
const icons = new Set(config.icons)
|
||||
const yamlFiles = await glob("src/lib/assets/keymaps/*.yml")
|
||||
const yamlIcons = await Promise.all(
|
||||
yamlFiles.map(it =>
|
||||
readFile(it, "utf8").then(file => [...file.matchAll(/^\s*icon:\s+(\w+)/gm)].map(match => match[1])),
|
||||
),
|
||||
).then(it => it.flat())
|
||||
|
||||
const icons = new Set([...config.icons, ...yamlIcons])
|
||||
|
||||
console.log("Icons used:", [...icons.values()].sort())
|
||||
const font = openSync(config.inputPath)
|
||||
|
||||
@@ -1,11 +1,13 @@
|
||||
import {defineConfig} from "vite"
|
||||
import {SvelteKitPWA} from "@vite-pwa/sveltekit"
|
||||
// noinspection ES6PreferShortImport
|
||||
import {themeColor} from "./src/lib/style/theme.server"
|
||||
import {sveltekit} from "@sveltejs/kit/vite"
|
||||
import {defineConfig} from "vite"
|
||||
import {SvelteKitPWA} from "@vite-pwa/sveltekit"
|
||||
import ViteYaml from "@modyfi/vite-plugin-yaml"
|
||||
|
||||
export default defineConfig({
|
||||
plugins: [
|
||||
ViteYaml(),
|
||||
sveltekit(),
|
||||
SvelteKitPWA({
|
||||
kit: {
|
||||
|
||||
Reference in New Issue
Block a user