diff --git a/src/lib/assets/keymaps/scancode.yml b/src/lib/assets/keymaps/scancode.yml index 9420c151..2be39078 100644 --- a/src/lib/assets/keymaps/scancode.yml +++ b/src/lib/assets/keymaps/scancode.yml @@ -1,5 +1,5 @@ -name: Raw Scancodes -description: Raw Keyboard Scancodes +name: Key codes +description: OS-Layout sensitive keycodes actions: 256: id: "KSC_00" diff --git a/src/lib/assets/layouts/generic/103-key.yml b/src/lib/assets/layouts/generic/103-key.yml new file mode 100644 index 00000000..e30531b8 --- /dev/null +++ b/src/lib/assets/layouts/generic/103-key.yml @@ -0,0 +1,143 @@ +name: Lite +col: + - row: + - key: 110 + - key: 112 + offset: [ 1, 0 ] + - key: 113 + - key: 114 + - key: 115 + - key: 116 + offset: [ 0.5, 0 ] + - key: 117 + - key: 118 + - key: 119 + - key: 120 + offset: [ 0.5, 0 ] + - key: 121 + - key: 122 + - key: 123 + - key: 124 + offset: [ 0.25, 0 ] + - key: 125 + - key: 126 + - offset: [ 0, 0.25 ] + row: + - key: 1 + - key: 2 + - key: 3 + - key: 4 + - key: 5 + - key: 6 + - key: 7 + - key: 8 + - key: 9 + - key: 10 + - key: 11 + - key: 12 + - key: 13 + - key: 15 + size: [ 2, 1 ] + - key: 75 + offset: [ 0.25, 0 ] + - key: 80 + - key: 85 + - key: 90 + offset: [ 0.25, 0 ] + - key: 95 + - key: 100 + - key: 105 + - row: + - key: 16 + size: [ 1.5, 1 ] + - key: 17 + - key: 18 + - key: 19 + - key: 20 + - key: 21 + - key: 22 + - key: 23 + - key: 24 + - key: 25 + - key: 26 + - key: 27 + - key: 28 + - key: 29 + size: [ 1.5, 1 ] + - key: 76 + offset: [ 0.25, 0 ] + - key: 81 + - key: 86 + - key: 91 + offset: [ 0.25, 0 ] + - key: 96 + - key: 101 + - key: 106 + size: [ 1, 2 ] + - offset: [ 0, -1 ] + row: + - key: 30 + size: [ 2, 1 ] + - key: 31 + - key: 32 + - key: 33 + - key: 34 + - key: 35 + - key: 36 + - key: 37 + - key: 38 + - key: 39 + - key: 40 + - key: 41 + - key: 43 + size: [ 2, 1 ] + - key: 92 + offset: [ 3.5, 0 ] + - key: 97 + - key: 102 + - row: + - key: 44 + size: [ 2.5, 1 ] + - key: 46 + - key: 47 + - key: 48 + - key: 49 + - key: 50 + - key: 51 + - key: 52 + - key: 53 + - key: 54 + - key: 55 + - key: 57 + size: [ 2.5, 1 ] + - key: 83 + offset: [ 1.25, 0 ] + - key: 93 + offset: [ 1.25, 0 ] + - key: 98 + - key: 103 + - key: 108 + size: [ 1, 2 ] + - offset: [ 0, -1 ] + row: + - key: 58 + size: [ 1.5, 1 ] + - key: 59 + - key: 60 + size: [ 1.5, 1 ] + - key: 61 + size: [ 7, 1 ] + - key: 62 + size: [ 1.5, 1 ] + - key: 63 + - key: 64 + size: [ 1.5, 1 ] + - key: 79 + offset: [ 0.25, 0 ] + - key: 84 + - key: 89 + - key: 99 + offset: [ 0.25, 0 ] + size: [ 2, 1 ] + - key: 104 + diff --git a/src/lib/components/layout/KeyText.svelte b/src/lib/components/layout/KeyText.svelte index c209ec86..00f0ab86 100644 --- a/src/lib/components/layout/KeyText.svelte +++ b/src/lib/components/layout/KeyText.svelte @@ -21,7 +21,7 @@ {#each positions as position, layer} - {@const {action: actionId, isApplied} = $layout[layer][key.id]} + {@const {action: actionId, isApplied} = $layout[layer][key.id] ?? {action: 0, isApplied: true}} {@const {code, icon, id} = KEYMAP_CODES[actionId] ?? {code: actionId}} {@const isActive = layer === $activeLayer} {@const direction = [(middle[0] - margin * 3) / position[0], (middle[1] - margin * 3) / position[1]]} diff --git a/src/lib/components/layout/Layout.svelte b/src/lib/components/layout/Layout.svelte index 3d043f6b..e32422b4 100644 --- a/src/lib/components/layout/Layout.svelte +++ b/src/lib/components/layout/Layout.svelte @@ -21,6 +21,7 @@ const layouts = { ONE: () => import("$lib/assets/layouts/one.yml"), LITE: () => import("$lib/assets/layouts/lite.yml"), + X: () => import("$lib/assets/layouts/generic/103-key.yml"), } async function importLayout() { @@ -57,8 +58,9 @@ .controls { display: grid; grid-template-columns: 1fr auto 1fr; - justify-content: center; align-items: center; + justify-content: center; + width: 100%; } @@ -80,7 +82,6 @@ align-items: center; justify-content: center; - margin-block-end: -36px; padding: 0; border: none;