mirror of https://github.com/4yn/slidershim
Merge 74496b32b8
into 6124dee2db
commit
8624c31a48
Binary file not shown.
|
@ -14,6 +14,7 @@ pub enum KeyboardLayout {
|
||||||
Tasoller,
|
Tasoller,
|
||||||
Yuancon,
|
Yuancon,
|
||||||
Umiguri,
|
Umiguri,
|
||||||
|
PDFTA,
|
||||||
TasollerHalf,
|
TasollerHalf,
|
||||||
EightK,
|
EightK,
|
||||||
SixK,
|
SixK,
|
||||||
|
@ -140,6 +141,12 @@ impl OutputMode {
|
||||||
sensitivity: u8::try_from(v["keyboardSensitivity"].as_i64()?).ok()?,
|
sensitivity: u8::try_from(v["keyboardSensitivity"].as_i64()?).ok()?,
|
||||||
direct_input: v["keyboardDirectInput"].as_bool()?,
|
direct_input: v["keyboardDirectInput"].as_bool()?,
|
||||||
},
|
},
|
||||||
|
"kb-pdfta" => OutputMode::Keyboard {
|
||||||
|
layout: KeyboardLayout::PDFTA,
|
||||||
|
polling: PollingRate::from_str(v["outputPolling"].as_str()?)?,
|
||||||
|
sensitivity: u8::try_from(v["keyboardSensitivity"].as_i64()?).ok()?,
|
||||||
|
direct_input: v["keyboardDirectInput"].as_bool()?,
|
||||||
|
},
|
||||||
"gamepad-voltex" => OutputMode::Gamepad {
|
"gamepad-voltex" => OutputMode::Gamepad {
|
||||||
layout: GamepadLayout::Voltex,
|
layout: GamepadLayout::Voltex,
|
||||||
polling: PollingRate::from_str(v["outputPolling"].as_str()?)?,
|
polling: PollingRate::from_str(v["outputPolling"].as_str()?)?,
|
||||||
|
|
|
@ -42,6 +42,26 @@ const UMIGURI_KB_MAP: [usize; 41] = [
|
||||||
0x50, 0xbc, 0xbe, // P, VK_OEM_COMMA, VK_OEM_PERIOD,
|
0x50, 0xbc, 0xbe, // P, VK_OEM_COMMA, VK_OEM_PERIOD,
|
||||||
0x0d, 0x20, 0x1b // VK_RETURN, VK_SPACE, VK_ESCAPE
|
0x0d, 0x20, 0x1b // VK_RETURN, VK_SPACE, VK_ESCAPE
|
||||||
];
|
];
|
||||||
|
#[rustfmt::skip]
|
||||||
|
const PDFTA_KB_MAP: [usize; 41] = [
|
||||||
|
0x5a /* Z */, 0x50 /* P */,
|
||||||
|
0x5a /* Z */, 0x50 /* P */,
|
||||||
|
0x5a /* Z */, 0x4F /* O */,
|
||||||
|
0x5a /* Z */, 0x4F /* O */,
|
||||||
|
0x58 /* X */, 0x49 /* I */,
|
||||||
|
0x58 /* X */, 0x49 /* I */,
|
||||||
|
0x58 /* X */, 0x55 /* U */,
|
||||||
|
0x58 /* X */, 0x55 /* U */,
|
||||||
|
0x43 /* C */, 0x52 /* R */,
|
||||||
|
0x43 /* C */, 0x52 /* R */,
|
||||||
|
0x43 /* C */, 0x45 /* E */,
|
||||||
|
0x43 /* C */, 0x45 /* E */,
|
||||||
|
0x56 /* V */, 0x57 /* W */,
|
||||||
|
0x56 /* V */, 0x57 /* W */,
|
||||||
|
0x56 /* V */, 0x51 /* Q */,
|
||||||
|
0x56 /* V */, 0x51 /* Q */,
|
||||||
|
0x1b, 0x1b, 0x1b, 0x1b, 0x1b, 0x1b, 0x1b, 0x1b, 0x1b // VK_ESCAPE
|
||||||
|
];
|
||||||
|
|
||||||
#[rustfmt::skip]
|
#[rustfmt::skip]
|
||||||
const TASOLLER_HALF_KB_MAP: [usize; 41] = [
|
const TASOLLER_HALF_KB_MAP: [usize; 41] = [
|
||||||
|
@ -150,6 +170,7 @@ impl KeyboardOutput {
|
||||||
KeyboardLayout::Tasoller => &TASOLLER_KB_MAP,
|
KeyboardLayout::Tasoller => &TASOLLER_KB_MAP,
|
||||||
KeyboardLayout::Yuancon => &YUANCON_KB_MAP,
|
KeyboardLayout::Yuancon => &YUANCON_KB_MAP,
|
||||||
KeyboardLayout::Umiguri => &UMIGURI_KB_MAP,
|
KeyboardLayout::Umiguri => &UMIGURI_KB_MAP,
|
||||||
|
KeyboardLayout::PDFTA => &PDFTA_KB_MAP,
|
||||||
KeyboardLayout::TasollerHalf => &TASOLLER_HALF_KB_MAP,
|
KeyboardLayout::TasollerHalf => &TASOLLER_HALF_KB_MAP,
|
||||||
KeyboardLayout::EightK => &EIGHT_K_MAP,
|
KeyboardLayout::EightK => &EIGHT_K_MAP,
|
||||||
KeyboardLayout::SixK => &SIX_K_MAP,
|
KeyboardLayout::SixK => &SIX_K_MAP,
|
||||||
|
|
|
@ -27,6 +27,7 @@
|
||||||
let ledWebsocketUrl = "http://localhost:3001";
|
let ledWebsocketUrl = "http://localhost:3001";
|
||||||
let ledUmgrWebsocketPort = 7124;
|
let ledUmgrWebsocketPort = 7124;
|
||||||
let ledSerialPort = "COM5";
|
let ledSerialPort = "COM5";
|
||||||
|
let hideByDefault = false;
|
||||||
|
|
||||||
let dirty = false;
|
let dirty = false;
|
||||||
|
|
||||||
|
@ -41,6 +42,7 @@
|
||||||
let tick = 0;
|
let tick = 0;
|
||||||
let previewData = Array(131).fill(0);
|
let previewData = Array(131).fill(0);
|
||||||
let timerData = "";
|
let timerData = "";
|
||||||
|
let initStart = true;
|
||||||
|
|
||||||
function updatePolling(enabled) {
|
function updatePolling(enabled) {
|
||||||
if (!!polling) {
|
if (!!polling) {
|
||||||
|
@ -85,6 +87,11 @@
|
||||||
ledWebsocketUrl = payload.ledWebsocketUrl || "http://localhost:3001";
|
ledWebsocketUrl = payload.ledWebsocketUrl || "http://localhost:3001";
|
||||||
ledUmgrWebsocketPort = payload.ledUmgrWebsocketPort || 7124;
|
ledUmgrWebsocketPort = payload.ledUmgrWebsocketPort || 7124;
|
||||||
ledSerialPort = payload.ledSerialPort || "COM5";
|
ledSerialPort = payload.ledSerialPort || "COM5";
|
||||||
|
hideByDefault = payload.hideByDefault || false;
|
||||||
|
if (hideByDefault && initStart) {
|
||||||
|
hide();
|
||||||
|
}
|
||||||
|
initStart = false;
|
||||||
});
|
});
|
||||||
|
|
||||||
await listen("showState", (event) => {
|
await listen("showState", (event) => {
|
||||||
|
@ -143,6 +150,7 @@
|
||||||
ledWebsocketUrl,
|
ledWebsocketUrl,
|
||||||
ledUmgrWebsocketPort,
|
ledUmgrWebsocketPort,
|
||||||
ledSerialPort,
|
ledSerialPort,
|
||||||
|
hideByDefault,
|
||||||
})
|
})
|
||||||
);
|
);
|
||||||
dirty = false;
|
dirty = false;
|
||||||
|
@ -319,7 +327,8 @@
|
||||||
<option value="gamepad-neardayo"
|
<option value="gamepad-neardayo"
|
||||||
>XBOX 360 Gamepad, Neardayo Layout</option
|
>XBOX 360 Gamepad, Neardayo Layout</option
|
||||||
>
|
>
|
||||||
<option value="gamepad-hori">DS4, HORI DIVA FT ASC Layout</option>
|
<option value="gamepad-hori">DS4, HORI DIVA FT ASC Layout</option>
|
||||||
|
<option value="kb-pdfta">Keyboard 16-zone, DIVA FT Custom Layout</option>
|
||||||
<option value="gamepad-hori-wide"
|
<option value="gamepad-hori-wide"
|
||||||
>DS4, HORI DIVA FT ASC Slider Only Layout</option
|
>DS4, HORI DIVA FT ASC Slider Only Layout</option
|
||||||
>
|
>
|
||||||
|
@ -611,6 +620,21 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{/if}
|
{/if}
|
||||||
|
<div class="row">
|
||||||
|
<div class="label" />
|
||||||
|
<div class="input">
|
||||||
|
<span>
|
||||||
|
<input
|
||||||
|
type="checkbox"
|
||||||
|
id="direct-input"
|
||||||
|
style="width: unset;"
|
||||||
|
bind:checked={hideByDefault}
|
||||||
|
on:change={markDirty}
|
||||||
|
/>
|
||||||
|
<label for="direct-input">Hide Window on Launch</label>
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="buttons-row">
|
<div class="buttons-row">
|
||||||
<button
|
<button
|
||||||
|
|
Loading…
Reference in New Issue