跳转到内容
GitHub

自定义按键

v0.15.0 起,阅读页的全部快捷键都可以通过配置文件自定义。没有 PageUp / PageDown / Home / End 键的笔记本键盘、或者想按自己的肌肉记忆改键,都不再需要改代码。

~/.novel/ 下新建 keybindings.toml,只写想改的条目即可 —— 未写的操作保持默认键位:

[reader]
page_up = "ctrl-u"
page_down = ["ctrl-d", "space"]   # 一个操作可以绑多个键
go_top = "g"
go_bottom = "G"                   # 大写字母 = Shift+g

保存后重新打开 TRNovel 生效。快捷键帮助浮层(i)和底部提示会实时显示自定义后的键位,不会与实际绑定脱节。

键位字符串的分隔符是 -(不是 +):

写法含义
jp+单个字符键
Gshift-gShift + 字母(单个大写字母即视为 Shift 意图)
ctrl-dalt-xctrl-shift-g带修饰键的组合
up / down / left / right方向键
pageup / pagedown / home / end翻页与首尾键
tabescenterspacebackspace常用特殊键
hyphen(或 minus)- 键本身
f1 ~ f24功能键

一个操作可以写单个键(字符串)或多个键(列表);写 [] 表示解绑该操作(请谨慎)。

下面是完整默认配置,可直接复制为模板、按需修改:

[reader]
# 向上滚动(章首连按翻上一章)
scroll_up = ["Up", "k"]

# 向下滚动(章末连按翻下一章)
scroll_down = ["Down", "j"]

# 上一章(章首)
prev_chapter = ["Left", "h"]

# 下一章
next_chapter = ["Right", "l"]

# 上一页(章首连按翻上一章)
page_up = ["PageUp", "ctrl-b"]

# 下一页(章末连按翻下一章)
page_down = ["PageDown", "ctrl-f"]

# 跳到开头
go_top = ["Home"]

# 跳到结尾
go_bottom = ["End"]

# 增大音量
volume_up = ["+"]

# 减小音量
volume_down = ["Hyphen"]

# 播放/暂停
toggle_play = ["p"]

# 隐藏/显示标题
toggle_title = ["v"]

# 切换章节选择/阅读模式
toggle_read_mode = ["Tab"]

# 打开/关闭快捷键帮助
toggle_info = ["i", "Shift-i"]

# 打开/关闭TTS设置
toggle_tts = ["t", "T"]

# 打开/关闭阅读设置
toggle_reader_settings = ["o", "O"]

配置问题一律降级为启动告警,不会让应用起不来:

问题行为
某条键位写错(如 "ctrl-")该操作回退默认键位,其余条目照常生效
值类型不对(如 toggle_play = 3)该操作回退默认键位
两个操作绑了同一个键冲突的自定义条目回退默认
操作名拼写错误该条忽略(告警会指出名字)
整个文件不是合法 TOML全部使用默认键位