我已經使用 Microsoft OneNote 幾個月了,並且按照應該使用的方式使用它。當我開始使用 OneNote 時,每當我需要增大或減少字體大小時,我都會嘗試應用常見的 MS Word 快捷方式,但它對我不起作用。
幾個月後,我了解到可以使用Ctrl+ Shift+>或Ctrl+ Shift+來增加或減少字體大小<。但我不喜歡這些捷徑。
有沒有辦法自訂 OneNote 鍵盤快速鍵?
答案1
使用自動熱鍵:
#if WinActive("ahk_exe ONENOTE.EXE")
^NumpadAdd::^+.
^NumpadSub::^+,
#if
如果您不想使用數字鍵盤上的+
和鍵,請將 和 替換為和with (假設您有鍵盤佈局並且想要使用退格鍵旁邊的鍵)。-
NumpadAdd
=
NumpadSub
-
EN
代表、^
for和will代表如果您想要修改熱鍵(Ctrl
+
Shift
!
Alt
有關特殊修飾符的更多信息)。
複雜的解釋
我有點像 AutoHotkey 書呆子,因為我經常在自己的工作流程中遇到這些類型的問題,並且無法控制自己不解釋該語言在這裡是如何工作的。如果有人想深入深水區,請看這裡:
<>和+鍵問題:
對我來說,<
和>
鍵通常(沒有 Shift 和 Control)充當點.
和逗號,
,並且+
充當=
,這也是將它們寫入腳本的正確方法。使用這些鍵的腳本版本不會觸發的另一個可能原因是因為<
,>
和+
是特殊修飾符號。如果普通的按鍵名稱根本不起作用,還可以使用特殊的虛擬按鍵 ID{vk##}
和掃描碼{sc##}
來代替,並使用以下方法計算出關鍵歷史記錄。最後一部分有更多的複雜性和準備工作,例子在這裡。
視窗檢測:
此外,在這種情況下處理視窗標題的更好方法WinActive
可能是直接使用 .exe 引用ahk_exe [app_name_goes_here].exe
。 OneNote 執行檔的名稱在其他版本中可能有所不同(我使用的是 OneNote 2016)。您可以使用WindowSpy.ahk
(該應用程式應該是每個 AutoHotkey 安裝的一部分(您可以在 AutoHotkey 資料夾中找到它))或透過在工作管理員中尋找 OneNote 執行檔來找出它。
在這種情況下正確使用 WinActive:
為了不破壞在其他應用程式中使用腳本添加的新熱鍵組合 ( ^NumpadAdd
+ ^NumpadSub
),重要的是使它們上下文相關的using #If
,它必須位於這些熱鍵聲明之上。如果您想要使用下面的非上下文敏感程式碼來擴充腳本,那麼使用空語句關閉上下文敏感非常重要#If
。
一行熱鍵,無需 Send/SendInput:
如果熱鍵是夠簡單,可以放在一行中,它不需要返回,甚至不需要使用Send
or SendInput
。然而,如果您需要使用特殊命名的鍵(例如在它們周圍編寫的鍵),這可能會NumpadAdd
很棘手Send
。{}
(例Send {NumpadAdd}
)
答案2
我嘗試使用 AutoHotkey 來實現此目的,但不知何故 Onenote 不對我發送的輸入做出反應,即。
; commments start from colon
; ^ is control, + is shift
^+::
if WinActive("Onenote")
SendInput ^+<
;MsgBox Stuff1
return
^-::
if WinActive("Onenote")
SendInput ^+>
;MsgBox Stuff2
return
如果取消註釋它們,則會出現「Stuff」訊息框,但無法正確解釋按鍵。也許有人可以從這一點繼續..
答案3
Alt- H-FS然後輸入你想要的字體
註:FS表示按F鍵再按S鍵