注意这里希望找到的是输入的是那个字符,而不是按的是那个键。
@Override
public boolean onKeyUp(int keyCode,KeyEvent event)
{
}这里的 keyCode 是按键,而不是字符,
比如:普通键盘上+ =这两个字符都在一个键上,通过 keyCode 获得的是无法区分的。我试过通过 event.getCharacters() 来获得, 但是这里我一直获得的是 null
@Override
public boolean onKeyUp(int keyCode,KeyEvent event)
{
}这里的 keyCode 是按键,而不是字符,
比如:普通键盘上+ =这两个字符都在一个键上,通过 keyCode 获得的是无法区分的。我试过通过 event.getCharacters() 来获得, 但是这里我一直获得的是 null
一个按键可以对应多个字符,不同输入法可能出来的字符是不一样的。
我希望根据用户输入的字符做一些处理。而不是根据用户是否按了某个键来做判断。
/system/usr/keylayout和/data/usr/keylayout键字符映射:
键字符映射位于:/system/usr/keychars和/data/usr/keychars如果没有碰底层的意思完全在上面获取输入的字符就可以的话,那打出系统自带软键盘自动提示历史记录的Log就很清楚了……
class MyListener extends KeyAdapter { @Override
public void keyPressed(KeyEvent dd) {
if (dd.getKeyCode() == KeyEvent.VK_XXXX) {
}
}
++
shift键也是对应一个编码的啊、你同时再按其他的键, 那就是两个字符喽、与LZ的本意不符 了吧、 LZ的意思是“刚刚输入的字符是那个字符” 貌似 是按下一个键哎、