2011-01-26 102 views
5

是否可以使用特殊的iOS API或通用的TextInput字段讀取非標準鍵的鍵碼?我有一個多媒體鍵盤,帶有特殊按鈕&,可以讓我的iPad應用程序知道這些鍵碼。我知道iOS可以使用其中的一些(即音量上/下,下一首/上一首曲目)。如何使用媒體鍵讀取USB鍵盤的鍵碼

+1

這聽起來像是一個惡夢來測試。祝你好運。我知道有一個API可以讓你成爲鍵盤的代表,並逐個角色地獲取按鍵。我不知道它給了你多少數據,或者它叫什麼。 – 2011-01-26 12:31:19

回答

1

您可能想嘗試繼承UIApplication並覆蓋sendEvent:以查看哪些事件通過那裏。鑑於UIEvent不記錄iOS上的鍵盤事件支持(與AppKit中的NSEvent相反),我對你會看到鍵盤事件持懷疑態度......但值得一試。我沒有BT鍵盤可以自己嘗試。

要使用UIApplication的子類,編輯main.m並通過您的子類作爲第三個參數UIApplicationMain:

int main(int argc, char *argv[]) { 
    NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init]; 
    int retVal = UIApplicationMain(argc, argv, YourApplicationSubclass, nil); 
    [pool release]; 
    return retVal; 
} 

這種策略是不是在桌面Cocoa程序少見,也說明這裏:

http://cocoawithlove.com/2009/05/intercepting-status-bar-touches-on.html