1
我有一個View
覆蓋了OnKeyDown
事件。我可以得到Key Code和KeyEvent,但似乎我錯過了一些東西。在Android中從物理鍵盤獲取正確的文本輸入
讓我解釋一下。對於非美國的鍵盤佈局,我得到的關鍵代碼是錯誤的。例如,當我在我的西班牙語鍵盤中按下ñ鍵時,我希望收到一個「ñ」字母,但是我得到一個Keycode.AltLeft
作爲鍵碼。
我如何得到真實的信?
另一個有問題的情況是加重的字符:當我按'鍵和o鍵,我不應該收到兩個事件,但只有一個字母ó。
「我希望收到一個」ñ「字母 - 所有語言中的所有字符都沒有'KEYCODE_'值。當您在[KeyEvent]上調用'getUnicodeChar()'(https:// developer .android.com/reference/android/view/KeyEvent.html#getUnicodeChar()),你會找回什麼?「當我按下'key和o鍵時,我不應該收到兩個事件' - 爲什麼你認爲呢?畢竟[getDeadChar()']的文檔(https://developer.android.com/reference/android/view/KeyCharacterMap.html#getDeadChar(int,%20int))似乎不同意 – CommonsWare
「當你在KeyEvent上調用getUnicodeChar()時,你會得到什麼迴應?」我得到一個0(零) – SuperJMN
好吧,你是對的:)我剛剛測試過,'鑰匙不開火KeyPress事件,只有當事後按下「o」時纔會觸發,但是使用getUnicodeChar你會提到我得到了111而不是243(Unico對於「ó」) – SuperJMN