Skip to content

Commit

Permalink
fix: 在 OneNote 笔记内部直接 SendEvent 上下方向键无反应, 故使用 ControlSend
Browse files Browse the repository at this point in the history
  • Loading branch information
snomiao committed Apr 10, 2021
1 parent 91bd629 commit 6b1db7e
Show file tree
Hide file tree
Showing 4 changed files with 69 additions and 25 deletions.
25 changes: 16 additions & 9 deletions Modules/01.2-插件-编辑增强.ahk
Original file line number Diff line number Diff line change
Expand Up @@ -36,19 +36,26 @@ OnSwitch(){
}

SendArrowUp(){
if WinActive(".*- OneNote ahk_class Framework\:\:CFrame ahk_exe ONENOTE.EXE"){
ControlSend, OneNote::DocumentCanvas1, {Blind}{Up}
} else {
SendEvent {Blind}{up}
; 在 OneNote 笔记内部直接 SendEvent 上下方向键无反应, 故使用 ControlSend 。
if (hWnd := WinActive(".*- OneNote ahk_class Framework\:\:CFrame ahk_exe ONENOTE.EXE")) {
ControlGetFocus, focusedClassNN, ahk_id %hWnd%
if (focusedClassNN == "OneNote`:`:DocumentCanvas1") {
ControlSend, OneNote::DocumentCanvas1, {Blind}{Up}
return
}
}
SendEvent {Blind}{up}
}
SendArrowDown(){
; sendplay {Blind}{down}
if WinActive(".*- OneNote ahk_class Framework\:\:CFrame ahk_exe ONENOTE.EXE"){
ControlSend, OneNote::DocumentCanvas1, {Blind}{Down}
} else {
SendEvent {Blind}{down}
; 在 OneNote 笔记内部直接 SendEvent 上下方向键无反应, 故使用 ControlSend 。
if (hWnd := WinActive(".*- OneNote ahk_class Framework\:\:CFrame ahk_exe ONENOTE.EXE")) {
ControlGetFocus, focusedClassNN, ahk_id %hWnd%
if (focusedClassNN == "OneNote`:`:DocumentCanvas1") {
ControlSend, OneNote::DocumentCanvas1, {Blind}{Down}
return
}
}
SendEvent {Blind}{down}
}

ArrowTicker(){
Expand Down
31 changes: 28 additions & 3 deletions Modules/应用-OneNote2016增强.ahk
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ getAscStr(str){
}

; 打开快速笔记主页
OpenHomePage(){
OneNote2016_OpenHomePage(){
SendEvent #n
; if !WinExist(".* - OneNote ahk_class Framework`:`:CFrame ahk_exe ONENOTE.EXE")
; WinWait .* - OneNote ahk_class Framework`:`:CFrame ahk_exe ONENOTE.EXE
Expand Down Expand Up @@ -157,9 +157,34 @@ CopySearchResultSectionAndPages(){
; 原热键,打开快速笔记
; $#n:: SendEvent #n
; 打开 主页
$#!n:: OpenHomePage()
$#!n:: OneNote2016_OpenHomePage()
; 打开 OneNote 并精确匹配查找搜索笔记
$#+n:: OneNote2016_OpenSearch()
OneNote2016_OpenSearch(){
winTitle := "ahk_class Framework`:`:CFrame ahk_exe ONENOTE.EXE"
needActive := 0
hWnd := WinActive(winTitle)
if(!hWnd){
SendEvent #n
WinWaitActive %winTitle%, , 1 ; wait for 1 seconds
if(ErrorLevel){
needActive := 1
WinWait %winTitle%, , 1 ; wait for 1 seconds
if(ErrorLevel){
TrayTip, 错误, 未找到OneNote窗口
return
}
}
hWnd := LastFound
}
if(needActive)
WinActivate ahk_id %hWnd%
SendEvent ^e{Text}""
SendEvent {Left}
Return
}
; 打开 UWP 版 OneNote 的快速笔记
$#+n:: Run "onenote-cmd://quicknote?onOpen=typing"
; $#+n:: Run "onenote-cmd://quicknote?onOpen=typing"

; #If !!(CapsLockXMode & CM_FN)
; h:: Run "https://support.office.com/zh-cn/article/OneNote-2013-%25E4%25B8%25AD%25E7%259A%2584%25E9%2594%25AE%25E7%259B%2598%25E5%25BF%25AB%25E6%258D%25B7%25E6%2596%25B9%25E5%25BC%258F-65dc79fa-de36-4ca0-9a6e-dfe7f3452ff8?ui=zh-CN&rs=zh-CN&ad=CN&fromAR=1"
Expand Down
20 changes: 16 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -369,17 +369,29 @@
本项目的核心理念是:简化系统操作逻辑,提升操作效率,且尽量不与原有习惯键位冲突。

1. [x] 按 CapsLockX + / 键显示对应帮助(目前的显示样式相当草率)
2. [ ] 初次使用上手教程(这个真没有……
3. [ ] 自动更新(虽然git pull一下也不是不行
2. [ ] 自动更新(虽然git pull一下也不是不行
3. [ ] 初次使用上手教程(这个真没有……
4. [ ] 插件管理器(虽然文件系统也可以搞定)
5. [ ] 自动配置同步功能(虽然一般来说扔onedrive就够)
6. [ ] 易用的选项配置的 UI 界面(虽然改ini也不是什么难事)
7. [ ] 执行外部代码(Python、Nodejs、Bash、……)(虽然写个脚本run一下也并不算麻烦)
7. [ ] 执行外部代码(Python、Nodejs、外部AHK、Bash、……)(虽然写个脚本run一下也并不算麻烦)

如果你有任何想法或建议,请在这里提出:
[Issues · snomiao/CapslockX](https://github.com/snomiao/CapsLockX/issues)

### 本项目与类似项目的功能对比 / 更新于(20200627)
### 组合键含义设计

Win + 系列 通常为操作系统功能、桌面窗口应用进程管理等、输入法、输出设备(显示器、多屏)管理

Alt + 系列 通常表述为调用应用内功能,其含义应相当于按下功能相同的按钮,或跳转到特定功能界面。

Ctrl + 系列 同上,但使用上更为频繁、且很可能不存在功能相同的按钮。

Ctrl + Alt + 同上,但一般为全局热键

而 Shift 键 用来在以上功能的基础上稍微改变按键的含义(例如反向操作如Shift+Alt+Tab,或功能范围扩大如Shift+方向键调整选区等)

### 本项目与类似项目的功能对比 / 更新于(20200627) 其中的信息可能慢慢过时

| 功能\项目 | [CapsLockX](https://github.com/snomiao/CapsLockX) | [Vonng/CapsLock](https://github.com/Vonng/CapsLock) | [coralsw/CapsEz](https://github.com/coralsw/CapsEz) | [CapsLock+](https://capslox.com/capslock-plus/) |
| :--------------- | :------------------------------------------------ | :-------------------------------------------------- | :-------------------------------------------------- | :---------------------------------------------- |
Expand Down
18 changes: 9 additions & 9 deletions docs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -205,7 +205,7 @@
| 在 Anki-学习界面 | 5 或 NumPad5 | 撤销 |
| 在 Anki-学习界面 | 6 或 NumPad6 | 暂停卡片 |
| 在 Anki-学习界面 | Alt + i | 快速导入剪贴版的内容(按 Tab 分割) / 比如可以从 Excel 复制 |
| 在 Anki-添加卡片界面 | Alt + s | 按下 添加 按钮 |
| 在 Anki-添加卡片界面 | Alt + s | 按下 添加 按钮 |

> 此插件可配合手柄使用,使用 XPadder 配置手柄摇杆映射到方向键即可。
>
Expand Down Expand Up @@ -297,21 +297,21 @@

### TIM添加常驻功能模块

| 模式 | 按键 | 功能 |
| ----------- | :---------: | ---------------------- |
| 在Tim窗口内 | Alt + f | 焦点定位到左上角搜索框 |
| 在Tim窗口内 | Ctrl + PgUp | 切换上一个窗口 |
| 在Tim窗口内 | Ctrl + PgDn | 切换下一个窗口 |
|模式|按键|功能|
| - | :-: | - |
| 在Tim窗口内 |Alt + f| 焦点定位到左上角搜索框|
| 在Tim窗口内 |Ctrl + PgUp| 切换上一个窗口|
| 在Tim窗口内 |Ctrl + PgDn| 切换下一个窗口|

<!-- 模块文件名:应用-讯飞输入法语音悬浮窗.ahk-->

### 讯飞输入法悬浮窗插件

#### 用法

| 作用于 | 按键 | 功能说明 |
| ------ | :-----: | --------------------- |
| 全局 | Win + H | 启动/切换讯飞语音输入 |
| 作用于 | 按键| 功能说明 |
| - | :-: | - |
| 全局 | Win + H | 启动/切换讯飞语音输入 |

####

Expand Down

0 comments on commit 6b1db7e

Please sign in to comment.