McBopomofo icon indicating copy to clipboard operation
McBopomofo copied to clipboard

[功能建議] Shift的中英切換功能

Open aiex718 opened this issue 1 year ago • 5 comments

感謝您開發與維護如此好用的輸入法,字詞預測功能十分精準省心! 已閱讀過WIKI內的文章,也可理解不提供按一下Shift切換中英文功能的原因。 但以下有些個人觀點想提出來討論:)

痛點

  1. 人體工學觀點
    • 由於Control在鍵盤上的位置遠,且負責鍵位的是小指,極度不符合人體工學。
    • 在許多鍵盤上CapsLock與Control是可交換的。
    • 若使用Mac提供的由CapsLock切換中/英輸入的方式,在此類鍵盤上會顯著提升小指的負擔。
  2. 中英混打與大小寫輸入效率
    • 若可由Shift切換中/英輸入方式,即可透過Shift鍵完成中英切換與大小寫輸入的任務,提升效率。
    • 意即Shift鍵短按切換成英文輸入,再透過長按Shift與否來改變大小寫輸入
  3. 符號輸入
    • 中文輸入習慣使用全形符號,但在特定情況下還是常用到半型符號,如()[]等語法常用的描述符。
    • 若可由Shift切換中/英輸入方式,即可快速輸入半型符號。
  4. 數字輸入
    • 80%與60%等無NumPad的的鍵盤上,僅能透過英文模式輸入數字。
    • 對於使用頻率極高的中文/數字混打需要頻繁的切換輸入法。
  5. 習慣問題
    • 最後也是最無解的習慣問題,上述痛點都可以透過改變使用習慣來規避。
    • 但新注音/新酷音使用者等長久累積的輸入習慣更改不易。

基於上述觀點,希望能考慮加入透過Shift切換中/英輸入的方式。

功能說明 - 可以透過Shift切換中/英輸入方式

aiex718 avatar Aug 30 '22 04:08 aiex718

謝謝你的功能建議。

想先請問,你除了使用 macOS 的 Caps Lock 切換當前的中文及英數字輸入法,還會使用其他按鍵組合切換輸入法嗎?例如 Ctrl-Space 或是 Cmd-Space?

另外,你目前的鍵盤設定,是否如上所說,將 Caps Lock 跟 Ctrl 對調,以便減少 Ctrl-[A-Z] 組合鍵的手指負擔,但因此讓中英文切換的小指負擔增加?

lukhnos avatar Aug 30 '22 04:08 lukhnos

謝謝你的功能建議。

想先請問,你除了使用 macOS 的 Caps Lock 切換當前的中文及英數字輸入法,還會使用其他按鍵組合切換輸入法嗎?例如 Ctrl-Space 或是 Cmd-Space?

另外,你目前的鍵盤設定,是否如上所說,將 Caps Lock 跟 Ctrl 對調,以便減少 Ctrl-[A-Z] 組合鍵的手指負擔,但因此讓中英文切換的小指負擔增加?

威注音輸入法已有按 Shift 切換中/英功能。

ryanwuson avatar Aug 30 '22 05:08 ryanwuson

在 macOS 輸入法框架的設計中,並不會將單次點擊 Shift 按鍵的行為,送到像是小麥輸入法這樣的程式上。所以技術上可行的作法是,輸入法程式要跳過蘋果所規範的輸入法框架,直接暴力攔截「所有」的硬體事件,包括鍵盤滑鼠,然後找到單次點選 Shift 的事件。而且,就算用戶切到了其他輸入法,甚至用戶根本沒在打字,都在監聽「所有」的事件。

這就不是技術問題了,是道德的問題。輸入法的作者,或是任何軟體的作者,應該對可以接觸多少用戶資料,要有自律,如果可能會有濫用情形的行為,一開始就不應該做。以我的立場,我知道那邊有條道德的紅線,我就不會去碰。人沒有道德就只是禽獸而已。

zonble avatar Aug 30 '22 05:08 zonble

我覺得比較合理的作法是,我們可以寫信給蘋果考慮是否要把單次點選 Shift 的事件開放到 IMK 當中,然後有了這個 API 再說。

zonble avatar Aug 30 '22 05:08 zonble

@lukhnos 當在純英文的討論區,或是coding的時候,我習慣會使用Ctrl+Space切換到純英文輸入法。 另外使用中的鍵盤是將Ctrl與CapsLock對調的沒錯,Macbook的內置鍵盤也是此配置。 但由於工作環境需要Mac/Win雙系統跑來跑去,還是不免會經常按錯鍵。 image

@ryanwuson 感謝您提示,稍後會試試看威注音輸入法:)

@zonble 可以理解您的顧慮。 因為個人是做嵌入式相關工作的,沒使用過Mac上的API不瞭解其限制。 蘋果官方大概....不會因為這類小眾需求改API...吧,蘋果Style嘛😂
我想所有的第三方輸入法都會有這類用戶資料的疑慮,這應該也是蘋果做Secure Input的原因。

至於其他輸入法是如何實現此功能的,目前沒有Trace過Code無法發表意見。 但個人認為,若該功能是靠此類Workaround實現,也是受到社群檢視過的。 這也是我較信賴開源輸入法的原因之一:)

aiex718 avatar Aug 30 '22 06:08 aiex718