自動熱鍵 Ctrl+Shift - Zbrush/Photoshop

自動熱鍵 Ctrl+Shift - Zbrush/Photoshop

我長期以來一直使用 Autohotkey 來重新映射 CG 軟體(主要是 Zbrush 和 Photoshop)中的按鍵,以使它們對左撇子更友好。

本質上,我將數字鍵盤鍵重新映射到您無法在程式內更改的鍵(Ctrl、Alt、Shift 等)。這樣我就可以用左手使用繪圖板筆,並使用數字鍵盤存取 Ctrl、Alt 等,這比將整個鍵盤向右偏移要方便得多。

無論如何,這是我的腳本:

 #IfWinActive, ahk_class ZBrush

 #MaxHotkeysPerInterval 200



 NumPad1::Alt

 Numpad2::LControl

 Right::Shift

 up::Space

 return

很簡單,但自從幾年前創建它以來我就遇到了一個錯誤。本質上,當我按住 Numpad2+Right (Ctrl+Shift),然後釋放 Numpad2 時,程式的行為就像我仍在按下它一樣。快速按下 Numpad2 即可將其恢復正常,但這非常煩人。這裡有幾張圖片可以更好地說明這個問題:

在此輸入影像描述

你知道為什麼會發生這種情況嗎?我不是程式設計師,所以我肯定需要一些幫助。

答案1

當我在 Numpad2 之前釋放時,問題似乎不會發生。就好像按向右 (Shift) 阻止了 Numpad2 (Ctrl) 被釋放......

您看到的問題是由於數字鍵盤被 更改所致⇧Shift。按下⇧Shift與切換按鍵類似NumLock,但效果更複雜且不明顯。

例如,按下Numpad-4將產生以下結果:

          │ Num On │ Num Off
──────────┼────────┼───────────
Shift Off │   4    │    ←
──────────┼────────┼───────────
Shift On  │   ←    │ Shift + ←

因為您正在重新映射⇧Shift並將其與數字鍵盤中的鍵結合使用,所以您得到的交互使 AutoHotkey 變得複雜,並使您對其意想不到的結果感到困惑(它很可能是邏輯正確,但肯定是意想不到的和不想要的結果)。

嘗試將您的輔助密鑰變更為Numpad-2其他密鑰不是修改為⇧Shift,例如K。您會發現您不再獲得意想不到的結果。

這種行為發生在鍵盤控制器中,而不是軟體中,因此不幸的是,如果您需要用作⇧Shift修飾符,則不能使用數字鍵盤鍵進行這樣的複雜重新映射。

⇧Shift一種選擇是使用不被(數學運算子、Numpad-5和)修改的編輯區塊或數字鍵盤鍵Numpad-Enter

另一種選擇是編寫一個更複雜的腳本,創建一個鍵盤掛鉤來檢查較低級別的按鍵,以便它可以檢查按鍵是否⇧Shift按下,然後根據需要進行補償。


(不久前,當我編寫一個 Unicode 輸入程式時,我遇到了這個問題。我試圖讓它支援某些字元的移位鍵,但修改把事情搞砸了。我最終求助於後一個建議並編寫一個複雜的腳本,但它令人沮喪、令人眼花繚亂,而且最終還是受到了限制。

答案2

哇!很棒的回覆!快速而精確。太感謝了。我沒有意識到這些鍵被 Shift 修改了,給了我這種惱人的行為。問題是我已經習慣了 Numpad2 的重新映射,如果不經歷數週的精神運動重新適應,我就無法承擔更改它的費用 ^^

我設法通過將 NumpadDown 重新映射到 Ctrl 來繞過這個問題 ^^ 我現在創造了奇蹟!

NumPad1::Alt

Numpad2::Ctrl

NumpadDown::Ctrl

Right::Shift

up::Space

    return

非常感謝您指出問題的根源。這多年來一直困擾著我。

相關內容