Skip to content

Releases: ForestOuting/ShikiPad

# ShikiPad v5.2

Choose a tag to compare

@ForestOuting ForestOuting released this 22 Jul 03:23
  • Preserved a complete deferred modifier tap when a left-stick or Create/Options modifier is released before its arbitrated KeyDown can run, preventing fast taps from disappearing behind a touchpad output.
  • Made the modifier-binding wait genuinely independent from the pure layer grace window while retaining the original layer takeover boundaries.
  • Enforced the documented module order at runtime, added native Interception send-result checks with one retry, serialized context cleanup, and kept injector bookkeeping unchanged after failed sends.
  • Added a per-session single-instance lock, HID parse diagnostics, validated editable parameters, implemented the documented linear right-stick curve, and corrected all assembly metadata to V5.2.
  • Added reproducible release packaging, SHA-256 manifests, third-party notices, .NET 8 Desktop Runtime documentation, and driver-installer exit-code handling; removed the unused Bluetooth marker from the package definition.
  • Added a per-poll output arbiter so simultaneous modules cannot interleave independent output sequences. Priority is touchpad click, touch gesture, modifier transitions, L3/R3, eight action positions, left-stick wheel, then right-stick pointer movement.
  • Fixed left-stick and Create/Options modifier presses bypassing arbitration: their logical state and 45 ms binding are registered immediately, while physical KeyDown output is serialized after touchpad outputs and before bindable mouse/action output.
  • Release events never enter the arbiter: KeyUp/mouse-up/gesture-modifier cleanup always runs. Logical modifier registration plus Home, Mute, and shoulder/trigger state also update before arbitration; only physical modifier KeyDown is serialized.
  • Deferred mouse-button and action outputs keep their pending state for the next poll, and blocked repeats keep their due time instead of being silently settled.
  • KeyTap now temporarily releases and restores an already-held ordinary target key, preventing an atomic shortcut from stealing another module's held-key ownership.
  • Touch-gesture shortcuts now use exact modifier isolation: unrelated held modifiers are suspended for the atomic shortcut and restored afterward, while action-layer taps retain their intentional 45 ms bound modifiers.

# ShikiPad v5.1

Choose a tag to compare

@ForestOuting ForestOuting released this 22 Jul 02:38

ShikiPad V5.1

V5.1 调整了左摇杆滚轮与修饰键扇区,并更新了二指右区快捷键。

左摇杆扇区调整

正上方和正下方的鼠标滚轮扇区均扩大为 50°:

  • 正上滚轮区:以正上方为中心,左右各 25°,范围为 65°–115°。
  • 正下滚轮区:以正下方为中心,左右各 25°,范围为 245°–295°。
  • 两个滚轮区的中心线保持在正上方和正下方,没有左右偏移。
  • 剩余 260°由四个修饰键区域平均占用,每个修饰区正好为 65°。
  • 六个区域连续覆盖完整 360°,没有空隙或重叠。

完整角度划分:

  • 右上修饰区:0°–65°
  • 正上滚轮区:65°–115°
  • 左上修饰区:115°–180°
  • 左下修饰区:180°–245°
  • 正下滚轮区:245°–295°
  • 右下修饰区:295°–360°

摇杆半径参数没有改变:

  • 滚轮区进入及退出半径:0.30
  • 修饰键区进入及退出半径:0.50
  • 当前没有单独的进入/退出迟滞参数。

二指右区映射

  • 左滑:Win + Shift + S 截图
  • 上滑:Win + Shift + M 还原已最小化窗口
  • 右滑:Alt + F4 关闭当前窗口
  • 下滑:Win + M 最小化全部窗口
  • 四个方向均为单次触发,不连发。

使用要求

  • 仅支持官方 PS5 DualSense 有线 USB 模式。
  • 需要安装 Interception 驱动并重启 Windows。
  • 请以管理员身份运行 ShikiPad。
  • 建议配合 HidHide,避免系统或游戏产生双重输入。

完整映射和参数说明请查看发布包中的 README.md

文件校验

ShikiPad.zip SHA-256:

4A37777221E45D28EB97F172E8F3CFA78B2D19F51CA4CC3F24FDCF351FE74FBA

包内 ShikiPad.exe SHA-256:

3A57E1EA7E1BF083DED1EB32FE5C79BEC7A4CA1E4A31529F667CAD248B29FCC2

## ShikiPad V5.0

Choose a tag to compare

@ForestOuting ForestOuting released this 21 Jul 14:18

V5.0 对触控板手势、二指延续、键层判定、修饰键绑定、Home 蓄力和 Caps/Fn 模式进行了整体重构。

触控板手势

  • 取消缓冲区手势,最终只识别左区或右区。
  • 手势区域由移动手指的起始位置和第一次触发方向共同决定。
  • 取消所有“长按后滑”手势,只保留单指与二指直接滑动。
  • 手势触发后,在移动手指抬起前保持区域、指数和连发模式,不会因跨区移动而改变。
  • 每次纵向移动 150 或横向移动 180 都会完整结算,并同时清空横纵累计,避免斜向残留造成误触。

二指延续

  • 静止指保持时,运动指可以抬起后重新落下并继续二指手势。
  • 第一次识别二指手势时,未达到 150/180 触发阈值的触点会成为静止指。
  • 每次运动指完成一个 150/180 手势步后,都会刷新静止指基准。
  • 静止指抬起、Touch ID 改变或相对最新基准移动达到 100 时,本轮触控立即结束,防止错误转成单指手势。

当前二指右区映射

  • 左:Win + Shift + S 截图
  • 上:Win + Shift + M 还原已最小化窗口
  • 右:Alt + F4 关闭窗口
  • 下:Win + M 最小化全部窗口
  • 四个方向均为单次触发,不连发

触控板按压

  • DeleteBackspaceCaps Lock 均使用真实 KeyDown/KeyUp。
  • 触控板按压是独立模块,不受当前肩键或扳机键层影响。
  • 触控板手势与按压采用先触发者优先,避免同时输出。
  • 触控板三键不会消费 Home 蓄力,也不会关闭或改变 Caps/Fn 模式。

纯键层判定

  • Base 只表示未按肩键或扳机键时,方向键和四个图案键这八个动作位置的映射。
  • 肩键和扳机键只负责选择单层或组合层。
  • 键层判定与修饰键绑定完全分离,修饰键不会抢占、冻结或改写动作所属键层。
  • 保留 45 ms 键层前窗、15 ms 后窗、35 ms 组合层窗口以及 20/30 ms 键层占用限制。

修饰键绑定

  • 独立 45 ms 修饰绑定仅覆盖:
    • 八个动作位置在全部键层中的输出。
    • L3/R3 鼠标左右键。
  • Home、触控板按压、静音键、滚轮、右摇杆和触控板手势不进入该绑定窗口。
  • 带修饰键的 Base 连发方向键会在首发及每次连发时完整按下并释放修饰键和方向键,不会让修饰键一直卡在按下状态。

Home 蓄力

  • Home 蓄力只收集左摇杆产生的修饰键。
  • 先触发修饰键再短按 Home,可以将修饰键锁定给下一次符合条件的动作。
  • 该蓄力关系不受修饰键绑定的 45 ms 时间限制。
  • 只有八个动作位置的全部键层输出以及 L3/R3 能消费蓄力。
  • 触控板 DeleteBackspaceCaps Lock 不会解除蓄力。
  • Base 方向键消费蓄力后,保存的修饰键仍会随每次渐进连发完整触发和释放。

Caps/Fn 模式

  • 短按静音键开启 Caps/Fn,再次短按关闭。
  • 未带 Shift 的字母转换为大写字母。
  • 1..0 - = 转换为 F1..F12
  • 只有实际发生上述转换后,Caps/Fn 才会自动关闭。
  • 方向键、Tab、Esc、Space、Enter、其他标点、L3/R3 和触控板三键都不会关闭 Caps/Fn。

摇杆调整

  • 左摇杆上/下滚轮区死区由 0.15 调整为 0.30。
  • 四个修饰键扇区死区由 0.45 调整为 0.50。
  • 优化右摇杆鼠标平滑、积分和异常帧限制。
  • 加强断开连接、禁用程序和异常退出时的统一按键释放。

使用要求

  • 仅支持官方 PS5 DualSense 有线 USB 模式。
  • 需要安装 Interception 驱动并重启 Windows。
  • 请以管理员身份运行 ShikiPad。
  • 建议配合 HidHide,避免系统或游戏收到双重手柄输入。

完整安装方法、所有映射和参数说明请查看发布包中的 README.md

文件校验

ShikiPad.zip 内的程序与仓库根目录发布程序一致。

SHA-256:

E4616F00A2298B1CC55F862E804E8E198E61D7EB08705A5AC7CAB665FBC7B841

# ShikiPad v4.9 永无止境

Choose a tag to compare

@ForestOuting ForestOuting released this 12 Jul 11:14
Stabilize two-finger touchpad continuation

ShikiPad V4.1 解决卡键问题

Choose a tag to compare

@ForestOuting ForestOuting released this 12 Jul 03:57
  • Touchpad click now sends Backspace when the click report has no active touch point, and also when two touch points are active.
  • Create/Options system buttons now use deterministic press-before-actions and release-after-actions ordering, so Right Alt / Right Ctrl combinations are less likely to miss when pressed in the same frame as action keys or touchpad actions.
  • Keyboard and mouse hold bookkeeping is serialized inside the injector, reducing release races between mapper ticks, disable/enable, disconnect, and process shutdown.

ShikiPad v4.0

Choose a tag to compare

@ForestOuting ForestOuting released this 10 Jul 21:57
  • Mute short press now toggles the one-shot Caps/Fn layer. Press Mute again before an action key to cancel it and restore normal output.
  • Caps/Fn maps 1..0, -, and = to F1..F12; unshifted letters output as shifted uppercase letters.
  • Touchpad gestures now support direct swipe, hold-then-swipe, and two-finger mappings. Hold-then-swipe is recognized at the 150/180 trigger distance after 450 ms of touch duration.
  • Touchpad and left-stick modifier overlap is guarded by modifier reference counting, reducing accidental stuck or prematurely released modifier keys.
  • The README no longer duplicates a separate install section; driver and setup order is the installation guide.

# ShikiPad v3.6 - 增加触控板功能

Choose a tag to compare

@ForestOuting ForestOuting released this 05 Jul 12:31

更新内容

  • 调整触控板手势识别逻辑:

    • 移动达到 250 后立即识别方向,不再等待手指离开触控板。
    • 取消方向占比和识别时间窗口判断。
    • 不再使用二指中心点,改为任意一根手指移动达到 250 即可识别。
    • 手势过程中只要出现过二指,就按二指手势处理;全程没有二指才按一指处理。
    • 识别后只要仍有至少一根手指留在触控板上,就可以继续连发。
  • 调整触控板连发:

    • 首次识别后立刻执行一次快捷键。
    • 第一次连发前等待 550ms。
    • 后续连发间隔为 350ms。
  • 调整触控板映射:

    • 一指直接左滑改为 Alt + F4 关闭软件。
    • 一指直接右滑改为 Shift + Win + S 截图。
  • 调整左摇杆鼠标滚轮:

    • 取消旧的小数按固定量化单位输出逻辑。
    • 改为更接近右摇杆鼠标的累计小数、0.5 阈值四舍五入输出逻辑。
    • 滚轮曲线指数改为 3.0。
    • 最慢滚轮间隔为 1500ms,最快滚轮间隔为 15ms。
    • 滚轮模式下轻微偏到斜向时不再轻易打断滚轮输出。
  • 调整基础层连发:

    • 连发爬坡时间改为 1500ms。
    • 最快连发间隔改为 12ms。
  • 更新 README:

    • 补充触控板映射、连发规则和参数说明。
    • 补充右摇杆鼠标、左摇杆滚轮、基础层连发等参数说明。
    • 修正发布包文件列表,使其与 ShikiPad.zip 实际内容一致。

# ShikiPad v3.5 - 最终?

Choose a tag to compare

@ForestOuting ForestOuting released this 04 Jul 15:14
  • 将动作键前置归属窗口从 45ms 调整为 35ms。
  • 左摇杆进入/退出死区调整为 0.25 / 0.15。
  • 左摇杆滚轮最高速调整为 15ms,最低速保持 1500ms。
  • 左摇杆滚轮改为按半径连续插值滚轮间隔,并累计小数滚轮量后输出,低/中速滚动更细腻。
  • 键层追溯参数调整为 layerTakeoverWindowMs = 25ms,layerOccupancyCarryCutoffMs = 15ms。

ShikiPad v3.3

Choose a tag to compare

@ForestOuting ForestOuting released this 04 Jul 10:05

下载包 / Download: ShikiPad-release-v3.3.zip

ShikiPad v3.3

这是一次面向最终打字逻辑稳定性的修正版本,重点处理短时间内多个键层快速交替时,基础键归属可能被后续键层过度追溯的问题。

主要更新

  • 修正基础键 pending 倒推逻辑:每个基础键现在维护独立的真实层时间轴,后续新键层必须真正倒推到该基础键的按下时间点,才能接管它。
  • 修正 20ms 占用边界:键层本体累计达到 20ms 时,不再穿透到更早的前置空间或更旧键层,避免后续键层过度吞掉前面的输入。
  • 保留原有参数意义:45ms 前置窗口、30ms 最大本体占用、35ms 组合层窗口、15ms 后置窗口均继续按原设定工作。
  • 保留组合层作为单键层参与判断的规则,同时避免组合层组成键的单层本体被错误累计。
  • 确认短时间多基础键混合输入时,每个基础键按自己的按下时间独立判定,不互相污染。
  • 映射说明页面将 L2+R2 标题改为 R2+L2,与当前同时优先级 R1 > L1 > R2 > L2 保持一致。
  • 重新构建根目录 ShikiPad.exe,文件版本更新为 3.3.0.0

验证

  • dotnet build .\ShikiPad.csproj -c Release
  • 组合层、前置/后置窗口、20ms/30ms 占用、同时优先级、映射交换等 22 个验证用例全部通过。

使用

下载压缩包后解压,运行 ShikiPad.exe。如需驱动,请按 README 中的 Interception 驱动说明安装。

ShikiPad v3.2

Choose a tag to compare

@ForestOuting ForestOuting released this 04 Jul 03:24

下载包 / Download: ShikiPad-release-v3.2.zip

ShikiPad v3.2

这是 ShikiPad v3 系列的正式整理版,重点完成键位说明、组合层判定、低速鼠标/滚轮手感和发布包一致性。

主要更新

  • 映射说明页改为按真实按键位置排布,不再按线性按键顺序显示;压缩整体空间,让基础层、单键层、组合层、Shift/Fn/摇杆提示在同一页内更直观。
  • 说明页颜色改为更均匀的渐变分布,右侧保留亮色/白色过渡,避免颜色集中在局部。
  • 每个按键值按固定位置居中对齐,减少偏左偏右的错位感。
  • 增加并整理 R1+L2L1+R2L2+R2 等标点组合层说明。
  • 左右括号、花括号、圆括号、尖括号按“方向键上右”和“方向键左下”两类摆放,避免出现“上左/右下”的错误分类。
  • R1+L2L1+R2 的说明位置和实际映射已对齐;Shift 层提示调整为 ; -> :' -> " ` -> ~\ -> |

键层与组合层逻辑

  • 组合层窗口为 35ms,组合层只由最近两个仍有效的键层按键形成,不会隔着更晚的键形成旧组合。
  • 同一轮询时间戳下的键层优先级为 R1 > L1 > R2 > L2
  • 组合层形成后,参与该组合的单键层本身、前置窗口和后置窗口资格会被组合层吸收,不再作为独立单键层判定。
  • 组合层断裂时,先松开的组合键层保留 15ms 后置窗口;后留下的组成键不获得自己的后置窗口,也不恢复单键层资格。
  • 动作键前置窗口保持 45ms,用于吸收按动作键和按键层之间的先后误差。
  • 新增并明确累计追溯模型:20ms 是倒推时多个键层本体段的累计截止点,30ms 是累计本体占用上限。
  • 组合层按单独键层参与累计,例如 R1+L2R2+L2L1+R2R1+L1 都会像单键层一样累计。
  • 当前组合层的同一次组成单键仍占用 45ms 时间线,但不计入这个组合层自己的 20ms/30ms 本体累计限制。
  • 保留真实后置窗口逻辑:旧组合层断裂后的动作键可吃到组合层后置窗口,后续新键层仍可在前置窗口内接管。
  • 保留基础层回退逻辑:超过可追溯范围或无法被新键层接管时,动作键按真实 pending 状态回到原层或基础层。

摇杆、鼠标与滚轮

  • 全局轮询保持 1ms,适用于按键、肩键/扳机、摇杆、鼠标移动和滚轮更新。
  • 右摇杆鼠标移动使用指数 3 曲线,保留原始真实触发逻辑,不额外增加漂移补偿逻辑。
  • 鼠标移动使用小数累计输出,低速移动更平滑,避免一格一格跳动。
  • 左摇杆滚轮同样使用指数 3 曲线,最低滚轮速度间隔提高到 1500ms,低速滚动更细腻。
  • R3 鼠标右键保持短暂冻结光标,减少按下右键瞬间的光标抖动。
  • 扳机阈值保持按下 0.25、释放 0.15,保留迟滞区避免临界抖动。

其他确认

  • 基础层按住保持连发;字符层和组合层输出保持虚拟点按,按住不连发。
  • Fn 层保持 1..0 / - / = -> F1..F12
  • 左摇杆修饰键保持方向锁定,进入方向后直到回死区才释放或重新判定。
  • 蓄力功能保持触控板/View/Menu 短按切换、长按保持,用于收集并统一释放修饰键。
  • PlayStation 语音输入辅助键位保留:Share/Create 为 Right Alt,Options/Menu 为 Right Ctrl,Home 为 Right Shift

发布包

  • 版本号:v3.2
  • Windows x64 单文件 EXE
  • 包含 README、中文 README、Interception 运行文件和驱动安装工具