summaryrefslogtreecommitdiff
path: root/firmware/target/hosted/android/button-android.c
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/target/hosted/android/button-android.c')
-rw-r--r--firmware/target/hosted/android/button-android.c28
1 files changed, 18 insertions, 10 deletions
diff --git a/firmware/target/hosted/android/button-android.c b/firmware/target/hosted/android/button-android.c
index 9bf15c25a2..26b6b1380e 100644
--- a/firmware/target/hosted/android/button-android.c
+++ b/firmware/target/hosted/android/button-android.c
@@ -71,30 +71,40 @@ Java_org_rockbox_RockboxFramebuffer_buttonHandler(JNIEnv*env, jobject this,
71 unsigned button = 0; 71 unsigned button = 0;
72 72
73 if (!state) 73 if (!state)
74 {
74 button = multimedia_to_button((int)keycode); 75 button = multimedia_to_button((int)keycode);
75 76 if (!button)
76 if (button) 77 button = dpad_to_button((int)keycode);
77 { /* multimeida buttons are handled differently */ 78 if (button)
78 queue_post(&button_queue, button, 0); 79 queue_post(&button_queue, button, 0);
79 return true;
80 } 80 }
81 81
82 button = key_to_button(keycode); 82 if (!button)
83 {
84 button = key_to_button(keycode);
85 }
83 86
84 if (button == BUTTON_NONE) 87 if (button == BUTTON_NONE)
88 {
89 last_btns = button;
85 return false; 90 return false;
91 }
86 92
87 if (state) 93 if (state)
88 { 94 {
89 last_btns |= button; 95 last_btns |= button;
90 last_button_tick = current_tick;
91 } 96 }
97 else
98 {
99 last_btns &= (~button);
100 return false;
101 }
102
92 return true; 103 return true;
93} 104}
94 105
95void button_init_device(void) 106void button_init_device(void)
96{ 107{
97 last_button_tick = 0;
98} 108}
99 109
100int button_read_device(int *data) 110int button_read_device(int *data)
@@ -110,7 +120,5 @@ int button_read_device(int *data)
110 if (last_touch_state == STATE_DOWN) 120 if (last_touch_state == STATE_DOWN)
111 btn |= touch; 121 btn |= touch;
112 122
113 if (TIME_AFTER(current_tick, last_button_tick+5))
114 last_btns = 0;
115 return btn; 123 return btn;
116} 124}