diff --git a/src-slider_io/src/output/config.rs b/src-slider_io/src/output/config.rs
index 613ae92..f1690b0 100644
--- a/src-slider_io/src/output/config.rs
+++ b/src-slider_io/src/output/config.rs
@@ -14,6 +14,7 @@ pub enum KeyboardLayout {
Tasoller,
Yuancon,
Umiguri,
+ PDFTA,
TasollerHalf,
EightK,
SixK,
@@ -140,6 +141,12 @@ impl OutputMode {
sensitivity: u8::try_from(v["keyboardSensitivity"].as_i64()?).ok()?,
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 {
layout: GamepadLayout::Voltex,
polling: PollingRate::from_str(v["outputPolling"].as_str()?)?,
diff --git a/src-slider_io/src/output/keyboard.rs b/src-slider_io/src/output/keyboard.rs
index 9f0e69c..2937ede 100644
--- a/src-slider_io/src/output/keyboard.rs
+++ b/src-slider_io/src/output/keyboard.rs
@@ -42,6 +42,26 @@ const UMIGURI_KB_MAP: [usize; 41] = [
0x50, 0xbc, 0xbe, // P, VK_OEM_COMMA, VK_OEM_PERIOD,
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]
const TASOLLER_HALF_KB_MAP: [usize; 41] = [
@@ -150,6 +170,7 @@ impl KeyboardOutput {
KeyboardLayout::Tasoller => &TASOLLER_KB_MAP,
KeyboardLayout::Yuancon => &YUANCON_KB_MAP,
KeyboardLayout::Umiguri => &UMIGURI_KB_MAP,
+ KeyboardLayout::PDFTA => &PDFTA_KB_MAP,
KeyboardLayout::TasollerHalf => &TASOLLER_HALF_KB_MAP,
KeyboardLayout::EightK => &EIGHT_K_MAP,
KeyboardLayout::SixK => &SIX_K_MAP,
diff --git a/src/App.svelte b/src/App.svelte
index 465d59d..d26c2a0 100644
--- a/src/App.svelte
+++ b/src/App.svelte
@@ -319,7 +319,8 @@
-
+
+