diff --git a/LunaTranslator/LunaTranslator/gui/setting_hotkey.py b/LunaTranslator/LunaTranslator/gui/setting_hotkey.py
index b5ab9ad8..43d5973f 100644
--- a/LunaTranslator/LunaTranslator/gui/setting_hotkey.py
+++ b/LunaTranslator/LunaTranslator/gui/setting_hotkey.py
@@ -86,7 +86,6 @@ def registrhotkeys(self):
"_31": lambda: gobject.baseobject.hualang_recordbtn.click(),
"_32": functools.partial(autoreadswitch, self),
"_33": lambda: gobject.baseobject.searchwordW.soundbutton.click(),
- "_34": lambda: gobject.baseobject.searchwordW.ankiconnect.click(),
"_35": lambda: gobject.baseobject.searchwordW.ankiconnect.customContextMenuRequested.emit(
QPoint()
),
diff --git a/LunaTranslator/LunaTranslator/gui/showword.py b/LunaTranslator/LunaTranslator/gui/showword.py
index 6b2b022a..dc5416a7 100644
--- a/LunaTranslator/LunaTranslator/gui/showword.py
+++ b/LunaTranslator/LunaTranslator/gui/showword.py
@@ -893,7 +893,8 @@ class searchwordW(closeashidewindow):
def langdu(self):
if gobject.baseobject.reader:
- gobject.baseobject.reader.read(self.searchtext.text(), True)
+ gobject.baseobject.audioplayer.timestamp = uuid.uuid4()
+ gobject.baseobject.reader.read(self.searchtext.text(), True, gobject.baseobject.audioplayer.timestamp)
def generate_explains(self):
res = []
diff --git a/LunaTranslator/files/defaultconfig/config.json b/LunaTranslator/files/defaultconfig/config.json
index 04f649f5..fa563142 100644
--- a/LunaTranslator/files/defaultconfig/config.json
+++ b/LunaTranslator/files/defaultconfig/config.json
@@ -1078,11 +1078,6 @@
"name": "朗读_单词",
"keystring": ""
},
- "_34": {
- "use": false,
- "name": "Anki_打开",
- "keystring": ""
- },
"_35": {
"use": false,
"name": "Anki_添加",
diff --git a/LunaTranslator/files/defaultconfig/static_data.json b/LunaTranslator/files/defaultconfig/static_data.json
index 3513e438..ba117168 100644
--- a/LunaTranslator/files/defaultconfig/static_data.json
+++ b/LunaTranslator/files/defaultconfig/static_data.json
@@ -1979,7 +1979,6 @@
[
"查词",
[
- "_34",
"_29",
"_30",
"_35",
diff --git a/docs/zh/alltoolbuttons.md b/docs/zh/alltoolbuttons.md
index 72a2f61a..63de9648 100644
--- a/docs/zh/alltoolbuttons.md
+++ b/docs/zh/alltoolbuttons.md
@@ -116,7 +116,7 @@
对于当前正在玩的游戏,打开备忘录窗口。对于每个游戏都有单独的一个备忘录文件。
可以用来临时写点笔录,或者把攻略复制进来看并且随玩随删,很方便,免去打开网页/单独开一个txt文件的麻烦,非常实用。
1. #### 绑定窗口(部分软件不支持)(点击自己取消)
- **该按钮非常重要,需要功能都依赖于该按钮先进行设置后才可用**
+ **该按钮非常重要,许多功能都依赖于该按钮先进行设置后才可用**
在绑定了游戏窗口后,`窗口缩放` `窗口截图` `游戏静音`,`跟随游戏窗口`->`游戏失去焦点时取消置顶`和`游戏窗口移动时同步移动`,以及记录游戏时间等,才可用。
不论HOOK/OCR/剪贴板模式,该按钮都可用。
在HOOK模式下,会自动根据连接的游戏,自动绑定游戏窗口。但也可以在用该按钮重新选择其他窗口。
diff --git a/docs/zh/fastkeys.md b/docs/zh/fastkeys.md
new file mode 100644
index 00000000..0cffbd4a
--- /dev/null
+++ b/docs/zh/fastkeys.md
@@ -0,0 +1,144 @@
+## 详解快捷按键
+
+### 若要使用快捷键,首先需要激活`是否使用快捷键`,然后激活要使用的某个快捷键,并设置其按键
+
+
+
+
+### **通用**
+
+1. #### 手动翻译
+ 从当前的文本输入源,读取一次输入,并执行翻译。
+ 例如如果当前是OCR模式,会再执行一次OCR。
+
+1. #### 自动翻译
+ 暂停/继续自动从当前的文本输入源读取文本。
+ 例如如果当前是HOOK模式,会暂停读取游戏文本;当前是OCR模式,暂停自动识别图像;如果当前是剪贴板模式,会暂停自动读取剪贴板。
+
+1. #### 打开设置
+ 略
+
+1. #### 显示/隐藏原文
+ 切换是否显示原文的状态,当下一次读取文本时,才真正生效。
+
+1. #### 显示/隐藏翻译
+ 切换是否显示翻译的状态,当下一次读取文本时,才真正生效。
+
+1. #### 显示/隐藏历史翻译
+ 打开或关闭历史翻译的窗口。
+
+1. #### 鼠标穿透窗口
+ 切换鼠标穿透窗口状态。
+ 该功能必须配合鼠标穿透窗口工具按钮才能正确使用。
+
+1. #### 锁定工具栏
+ 未锁定工具栏时,当鼠标移出时,工具栏会自动隐藏;激活后工具栏将始终显示。
+ 未锁定工具栏时,如果激活了`鼠标穿透窗口`,则仅当鼠标移动到**鼠标穿透窗口按钮及其左右一个按钮的区域**时,工具栏才显示;否则只要鼠标进入到翻译窗口,工具就会显示。
+ 如果当前使用了窗口特效(Aero/Arylic),且不锁定工具栏,则工具栏会处于文本区的z轴之上的区域,而非处于文本区的y轴上面。这是因为由于Windows的原因,使用窗口特效时,如果将工具栏只是隐藏而非将缩去其窗口高度,则被隐藏的工具栏仍会被渲染亚力克/Aero背景,导致工具栏所在区域会有一块空白。
+
+1. #### 显示/隐藏翻译窗口
+ 略
+
+1. #### 退出
+ 略
+
+### **HOOK**
+
+**仅在HOOK模式下可用**
+
+1. #### 选择游戏
+ 弹出选择游戏进程窗口,来选择要HOOK的游戏进程。
+1. #### 选择文本
+ 弹出选择游戏文本窗口,来选择要翻译哪条HOOK到的文本。
+ 不过,选择文本窗口在选择进程后会自动弹出,实际上是用来更换选择的文本,或修改一些设置用的。
+
+### **OCR**
+
+
+1. #### 选取OCR范围
+ **仅在OCR模式下可用**
+ OCR模式下,选取OCR区域,或者更换OCR区域,或者当激活`OCR设置`->`其他`->`多重区域模式`时增加新的OCR区域
+
+1. #### 显示/隐藏范围框
+ **仅在OCR模式下可用**
+ 当未选择任何OCR范围时,使用该快捷键显示OCR范围,会自动设置OCR范围为上一次选择的OCR。
+
+
+1. #### 选取OCR范围——立即
+ **仅在OCR模式下可用**
+ OCR模式下,选取OCR区域,或者更换OCR区域,或者当激活`OCR设置`->`其他`->`多重区域模式`时增加新的OCR区域
+ 和`选取OCR范围`的区别仅是少按一次鼠标
+
+1. #### 进行一次OCR
+ 和`读取剪贴板`类似,不管当前的默认文本输入源是什么,都会先进行OCR范围选择,然后进行一次OCR,然后进行翻译流程。
+ 一般用于,在HOOK模式下,遇到选择支时,临时使用一次OCR进行翻译选择支。或者在OCR模式下,临时去识别一次其他偶尔出现的新的位置。
+
+1. #### 再次进行OCR
+ 当使用过一次`进行一次OCR`后,使用这个快捷键,可以在原来的位置上再次进行一次OCR而无需重新选择识别区域。
+
+### **剪贴板**
+
+1. #### 读取剪贴板
+ 这个的实际意义是,不管当前的默认文本输入源是什么,都从剪贴板读取一次文本,并传给之后的翻译/tts/...流程
+
+1. #### 复制到剪贴板
+ 复制当前提取到的文本到剪贴板一次。如果想要自动提取到剪贴板,应当激活`文本输入`->`文本输出`->`剪贴板`->`自动输出`。
+
+1. #### 复制到剪贴板 翻译
+ 复制翻译而非原文到剪贴板
+
+### **TTS**
+
+1. #### 自动朗读
+ 切换是否自动朗读
+
+1. #### 朗读
+ 对当前文本进行语音合成。
+ 该朗读会无视`跳过`(如果在`语音指定`中,匹配当前文本目标为`跳过`,则使用快捷键进行朗读时,会无视跳过,强制进行朗读)
+
+1. #### 朗读 中断
+ 中断朗读。
+
+### **游戏**
+
+1. #### 绑定窗口(点击自己取消)
+ 在绑定了游戏窗口后,`窗口缩放` `窗口截图` `游戏静音`,`跟随游戏窗口`->`游戏失去焦点时取消置顶`和`游戏窗口移动时同步移动`,以及记录游戏时间等,才可用。
+ 不论HOOK/OCR/剪贴板模式,该快捷键都可用。
+ 在HOOK模式下,会自动根据连接的游戏,自动绑定游戏窗口。但也可以在用该快捷键重新选择其他窗口。
+ 在OCR模式下,绑定窗口后,还额外允许游戏窗口移动时,同步自动移动OCR区域和范围框。
+ 在OCR/剪贴板模型下,绑定窗口后,也可以和HOOK模式下一样,关联到当前游戏到游戏设置,从而使用当前游戏的专有翻译优化词典等。
+
+1. #### 窗口缩放
+ 可以一键对游戏窗口(HOOK链接游戏/剪贴板、OCR绑定窗口)进行缩放(默认使用内置的Magpie,也可以设置使用自己下载的Magpie等)。
+
+1. #### 窗口截图
+ 可以对绑定的窗口进行截图,(默认会截两张图,GDI和Winrt,两者均有一定概率会失败)。最好的地方是,如果当前正在使用Magpie进行缩放,还会对放大的窗口进行截图。
+ 详见[实用功能](/zh/usefulsmalltools.md?id=窗口截图amp画廊amp录音,捕捉每个精彩瞬间)
+
+1. #### 游戏静音
+ 当绑定游戏窗口后(不只是hook模式,ocr或剪贴板模式都可以,只要绑定了游戏窗口),可以一键对游戏进行静音,省去了在系统音量合成器进行游戏静音的麻烦。
+
+1. #### Magpie 游戏内叠加层
+ **仅当使用内置Magpie缩放窗口时有效**
+ 使内置Magpie显示/隐藏游戏内叠加层
+
+1. #### 画廊 录音
+ 游戏管理中某个录音功能的快捷键
+
+### **查词**
+
+1. #### Anki 录音
+ 查词窗口中的Anki添加界面中的录音功能的快捷键
+
+1. #### Anki 录音 例句
+ 查词窗口中的Anki添加界面中的录音功能的快捷键,但这个快捷键录制的音频将设置给例句字段
+
+1. #### Anki 添加
+ 添加单词到Anki
+
+1. #### 朗读 单词
+ 朗读当前查词窗口的单词
+
+
+
+
diff --git a/docs/zh/sidebar.md b/docs/zh/sidebar.md
index be386303..1b3b568d 100644
--- a/docs/zh/sidebar.md
+++ b/docs/zh/sidebar.md
@@ -30,4 +30,5 @@
- [如何使用Mecab分词&词性颜色标注](/zh/qa1.md)
- [Anki集成](/zh/qa2.md)
- [工具按钮](/zh/alltoolbuttons.md)
+- [快捷按键](/zh/fastkeys.md)
- [实用功能](/zh/usefulsmalltools.md)
\ No newline at end of file