aboutsummaryrefslogtreecommitdiff
path: root/src/KINDLE/i_video.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/KINDLE/i_video.c')
-rw-r--r--src/KINDLE/i_video.c14
1 files changed, 12 insertions, 2 deletions
diff --git a/src/KINDLE/i_video.c b/src/KINDLE/i_video.c
index b379f97..5672b28 100644
--- a/src/KINDLE/i_video.c
+++ b/src/KINDLE/i_video.c
@@ -133,6 +133,8 @@ static void init_kindle_keys() {
133 } 133 }
134} 134}
135 135
136#define KINDLE_READ_AGAIN 4
137
136static int kindle_poll_keys(kindle_key_t *k) { 138static int kindle_poll_keys(kindle_key_t *k) {
137 int retval = read(kindleKeysFd, k, sizeof(kindle_key_t)); 139 int retval = read(kindleKeysFd, k, sizeof(kindle_key_t));
138 if (retval == -1) { 140 if (retval == -1) {
@@ -152,6 +154,10 @@ static int kindle_poll_keys(kindle_key_t *k) {
152 perror("read()"); 154 perror("read()");
153 exit(1); 155 exit(1);
154 } 156 }
157 } else if (k->keyCode == KINDLE_READ_AGAIN) {
158 printf("Read again\n");
159 read(kindleKeysFd2, k, sizeof(kindle_key_t));
160 return 1;
155 } else if (retval > 0) { 161 } else if (retval > 0) {
156 return 1; 162 return 1;
157 } 163 }
@@ -179,10 +185,11 @@ static boolean mouse_currently_grabbed;
179#define KINDLE_RIGHT 106 185#define KINDLE_RIGHT 106
180#define KINDLE_UP 103 186#define KINDLE_UP 103
181#define KINDLE_DOWN 108 187#define KINDLE_DOWN 108
182#define KINDE_OK 194 188#define KINDLE_OK 194
183#define KINDLE_HOME 102 189#define KINDLE_HOME 102
184#define KINDLE_MENU 139 190#define KINDLE_MENU 139
185#define KINDLE_BACK 158 191#define KINDLE_BACK 158
192#define KINDLE_KEYBOARD 29
186 193
187static int I_TranslateKey(unsigned short code) 194static int I_TranslateKey(unsigned short code)
188{ 195{
@@ -193,7 +200,10 @@ static int I_TranslateKey(unsigned short code)
193 case KINDLE_RIGHT: rc = KEYD_UPARROW; break; 200 case KINDLE_RIGHT: rc = KEYD_UPARROW; break;
194 case KINDLE_UP: rc = KEYD_LEFTARROW; break; 201 case KINDLE_UP: rc = KEYD_LEFTARROW; break;
195 case KINDLE_DOWN: rc = KEYD_RIGHTARROW; break; 202 case KINDLE_DOWN: rc = KEYD_RIGHTARROW; break;
196 case KINDE_OK: rc = KEYD_RCTRL; break; 203 case KINDLE_OK: rc = KEYD_RCTRL; break;
204 case KINDLE_BACK: rc = KEYD_ESCAPE; break;
205 case KINDLE_MENU: rc = KEYD_ENTER; break;
206 case KINDLE_KEYBOARD: rc = KEYD_SPACEBAR; break;
197 default: break; 207 default: break;
198 } 208 }
199 209