mirror of
https://github.com/UpsilonNumworks/Upsilon.git
synced 2026-01-19 00:37:25 +01:00
[ion] Preliminary keyboard on device
This commit is contained in:
@@ -2,43 +2,67 @@
|
||||
#include <string.h>
|
||||
|
||||
char charForKey[ION_NUMBER_OF_KEYS] = {
|
||||
'A',
|
||||
'B',
|
||||
'C',
|
||||
'D',
|
||||
'E',
|
||||
'F',
|
||||
'G',
|
||||
'H',
|
||||
'I',
|
||||
'J',
|
||||
'K',
|
||||
'L',
|
||||
'M',
|
||||
'N',
|
||||
'O',
|
||||
'P',
|
||||
'Q',
|
||||
'R',
|
||||
'S',
|
||||
'T',
|
||||
'U',
|
||||
'V',
|
||||
'W',
|
||||
'X',
|
||||
'Y',
|
||||
'Z',
|
||||
'0',
|
||||
'1',
|
||||
'2',
|
||||
'3',
|
||||
'/',
|
||||
'^',
|
||||
'.'
|
||||
'4',
|
||||
'5',
|
||||
'6',
|
||||
'7',
|
||||
'8'
|
||||
};
|
||||
|
||||
char ion_getchar() {
|
||||
while (1) {
|
||||
ion_sleep();
|
||||
if (ion_key_state(0)) {
|
||||
return charForKey[0];
|
||||
}
|
||||
/*
|
||||
for (ion_key_t k=0;k<ION_NUMBER_OF_KEYS; k++) {
|
||||
if (ion_key_state(k)) {
|
||||
return charForKey[k];
|
||||
}
|
||||
}
|
||||
*/
|
||||
}
|
||||
/*
|
||||
bool key_states[ION_NUMBER_OF_KEYS];
|
||||
memcpy(key_states, ion_key_states, ION_NUMBER_OF_KEYS);
|
||||
while (1) {
|
||||
for (int k=0; k<ION_NUMBER_OF_KEYS; k++) {
|
||||
if (ion_key_states[k]) {
|
||||
if (!key_states[k]) {
|
||||
return charForKey[k];
|
||||
}
|
||||
} else {
|
||||
// Key k is down. So if we ever see it up, we'll want to return a char.
|
||||
key_states[k] = 0;
|
||||
}
|
||||
}
|
||||
ion_sleep();
|
||||
}
|
||||
*/
|
||||
bool key_states[ION_NUMBER_OF_KEYS];
|
||||
memcpy(key_states, ion_key_states, ION_NUMBER_OF_KEYS);
|
||||
while (1) {
|
||||
for (int k=0; k<ION_NUMBER_OF_KEYS; k++) {
|
||||
if (ion_key_states[k]) {
|
||||
if (!key_states[k]) {
|
||||
return charForKey[k];
|
||||
}
|
||||
} else {
|
||||
// Key k is down. So if we ever see it up, we'll want to return a char.
|
||||
key_states[k] = 0;
|
||||
}
|
||||
}
|
||||
ion_sleep();
|
||||
}
|
||||
*/
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user