2013-06-05 34 views
0

當程序在托盤中時,是否有可能在任何地方以編程方式更改鍵盤輸入? 示例。 當用戶在Google Chrome中鍵入文本時,我的程序會捕獲用戶鍵入的鍵,並將其更改爲另一種語言的其他符號?如何製作我自己的鍵盤佈局?

A -> ❤ 
B -> 웃 
C -> ✄ 
etc. 

這可能嗎?如果答案是YES,那麼如何?

+0

那麼,這就是文本擴展應用程序所做的,所以我想這是可能的。也許你可以看看一個開源的文本擴展器的源代碼,看看它是如何工作的? –

+0

這可能是有幫助的:http://stackoverflow.com/a/10369044/227536 – Regexident

回答

0

您可以使用Quartz event taps先接收所有關鍵事件,並對其進行修改,允許他們之前閱讀了要處理(或替代不同的事件完全)。請注意,用戶必須啓用通用訪問偏好設置中的輔助設備才能訪問,以便事件點擊查看鍵盤事件。

您可以創建,安裝並讓用戶選擇自定義鍵盤佈局。您可以使用第三方Ukelele程序來創建和修改鍵盤佈局。這不涉及代碼,必然。它只是一個將鍵碼翻譯成字符的大型機器。

您也可以通過實現輸入法來完成類似的操作。請參閱Input Method Kit

1

這聽起來像是一個custom keyboard layout的工作。

安裝鍵盤佈局後,用戶只需在「語言&文本」首選項窗格中啓用它,然後在「輸入」菜單中選擇它。

也可以通過編程的方式enableselect an input source(鍵盤佈局是一種輸入源)。

+0

使用短語「這聽起來像是一份工作」+1:D哦,是的,'自定義鍵盤佈局'是一個好主意太。 (你完成了這項工作,自定義鍵盤佈局!) –