21 @Override
public boolean onKeyEvent(KeyEvent event)
25 return super.onKeyEvent(event);
27 InputDevice device =
event.getDevice();
29 (device.getSources() & InputDevice.SOURCE_GAMEPAD) == InputDevice.SOURCE_GAMEPAD)
30 return super.onKeyEvent(event);
32 switch (event.getKeyCode())
34 case KeyEvent.KEYCODE_VOLUME_UP:
35 case KeyEvent.KEYCODE_VOLUME_DOWN:
36 case KeyEvent.KEYCODE_POWER:
37 return super.onKeyEvent(event);
41 if (event.getScanCode() == 1 && event.getKeyCode() != KeyEvent.KEYCODE_ESCAPE)
44 new KeyEvent(event.getDownTime(), event.getEventTime(), event.getAction(),
45 KeyEvent.KEYCODE_ESCAPE, event.getRepeatCount(), event.getMetaState());
48 return session.handleKeyEvent(event);
51 @Override
public void onServiceConnected()
53 AccessibilityServiceInfo info =
new AccessibilityServiceInfo();
54 info.packageNames =
new String[] { getApplicationContext().getPackageName() };
55 info.eventTypes = AccessibilityEvent.TYPES_ALL_MASK;
56 info.notificationTimeout = 100;
57 info.flags = AccessibilityServiceInfo.FLAG_REQUEST_FILTER_KEY_EVENTS;
58 info.feedbackType = AccessibilityServiceInfo.FEEDBACK_GENERIC;
62 @Override
public void onAccessibilityEvent(AccessibilityEvent event)
66 @Override
public void onInterrupt()