어리석은 것처럼 보이지만 onKeyListener에서 액세스 한 KeyEvent에서 메타 상태를 가져올 수 없습니다. 내가 가지고있는 모든 키보드와 에뮬레이터로 시도했다.Android KeyEvent에서 메타 상태를 가져올 수 없습니다.
Shift 키, Ctrl 키 등의 키가 눌러 졌는지 여부에 관계없이 keyEvent.getMetaState()는 0을 반환합니다. TextListener에서 작동하지만 텍스트를 입력 할 필요가 없으면 Tab과 Shift를 구분해야합니다. + 탭.
예상 도움에 감사드립니다.
업데이트. 방금 알아 낸 것은 영문자 키에 대해 메타 상태가보고되지만 다른 키에는 표시되지 않는다는 것입니다.
예를 들어 왼쪽 Shift + T를 누르면 KEYCODE_SHIFT_LEFT 및 KEYCODE_T에 대한 KeyEvent가 생성되고 KEYCODE_T에 대한 KeyEvent에는 META_SHIFT_ON이 설정됩니다. Shift + TAB + T를 사용하여 시스템을 트릭 할 수 있습니다.이 경우 META_SHIFT_ON이 KEYCODE_T 및 KEYCODE_TAB에 대해 설정됩니다. 그러나 Shift + Tab 키를 사용하면 KEYCODE_SHIFT_LEFT에 대한 KeyEvent가 생성되지 않고 메타 상태가 영향을받지 않습니다.
시스템 키보드 구성 파일을 Shift + Tab과 같은 조합으로 업데이트해야합니까?