mirror of
https://github.com/clockworkpi/DevTerm.git
synced 2025-12-12 18:28:50 +01:00
devterm_keyboard,use switch 2 to switch the joystick to be the GameShell mode
This commit is contained in:
parent
348e17202f
commit
c626e1f797
@ -49,6 +49,8 @@ void setup() {
|
||||
|
||||
dev_term._Serial->println("setup done");
|
||||
|
||||
pinMode(PD2,INPUT);// switch 2 in back
|
||||
|
||||
delay(1000);
|
||||
}
|
||||
|
||||
|
||||
@ -108,6 +108,10 @@ const uint16_t keys_maps[KEYS_NUM] = {_JOYSTICK_UP,_JOYSTICK_DOWN, _JOYSTICK_LEF
|
||||
_MOUSE_LEFT,_MOUSE_MID,_MOUSE_RIGHT};
|
||||
|
||||
|
||||
uint8_t check_pd2(){ // if swtich 2 in back is set to on(HIGH)
|
||||
|
||||
return digitalRead(PD2);
|
||||
}
|
||||
|
||||
void dt_kbd_set_layer(DEVTERM*dv,uint8_t new_layer) {
|
||||
|
||||
@ -163,10 +167,28 @@ void keyboard_action(DEVTERM*dv,uint8_t row,uint8_t col,uint8_t mode) {
|
||||
break;
|
||||
|
||||
case _SELECT_KEY:
|
||||
dv->Joystick->button(9,mode);
|
||||
if(check_pd2() == HIGH) {
|
||||
k = ' ';
|
||||
if(mode == KEY_PRESSED) {
|
||||
dv->Keyboard->press(k);
|
||||
}else if(mode == KEY_RELEASED) {
|
||||
dv->Keyboard->release(k);
|
||||
}
|
||||
}else {
|
||||
dv->Joystick->button(9,mode);
|
||||
}
|
||||
break;
|
||||
case _START_KEY:
|
||||
dv->Joystick->button(10,mode);
|
||||
if(check_pd2() == HIGH) {
|
||||
k = KEY_RETURN;
|
||||
if(mode == KEY_PRESSED) {
|
||||
dv->Keyboard->press(k);
|
||||
}else if(mode == KEY_RELEASED) {
|
||||
dv->Keyboard->release(k);
|
||||
}
|
||||
}else {
|
||||
dv->Joystick->button(10,mode);
|
||||
}
|
||||
break;
|
||||
|
||||
case _FN_BRIGHTNESS_UP:
|
||||
@ -253,44 +275,116 @@ void keypad_action(DEVTERM*dv,uint8_t col,uint8_t mode) {
|
||||
break;
|
||||
|
||||
case _JOYSTICK_UP:
|
||||
if(mode == KEY_RELEASED){
|
||||
dv->Joystick->Y(511);
|
||||
}else {
|
||||
dv->Joystick->Y(0);
|
||||
if(check_pd2() == HIGH) {
|
||||
k = KEY_UP_ARROW;
|
||||
if(mode == KEY_PRESSED) {
|
||||
dv->Keyboard->press(k);
|
||||
}else if(mode == KEY_RELEASED) {
|
||||
dv->Keyboard->release(k);
|
||||
}
|
||||
}else {
|
||||
if(mode == KEY_RELEASED){
|
||||
dv->Joystick->Y(511);
|
||||
}else {
|
||||
dv->Joystick->Y(0);
|
||||
}
|
||||
}
|
||||
break;
|
||||
case _JOYSTICK_DOWN:
|
||||
if(mode == KEY_RELEASED){
|
||||
dv->Joystick->Y(511);
|
||||
}else {
|
||||
dv->Joystick->Y(1023);
|
||||
if(check_pd2() == HIGH) {
|
||||
k = KEY_DOWN_ARROW;
|
||||
if(mode == KEY_PRESSED) {
|
||||
dv->Keyboard->press(k);
|
||||
}else if(mode == KEY_RELEASED) {
|
||||
dv->Keyboard->release(k);
|
||||
}
|
||||
}else {
|
||||
if(mode == KEY_RELEASED){
|
||||
dv->Joystick->Y(511);
|
||||
}else {
|
||||
dv->Joystick->Y(1023);
|
||||
}
|
||||
}
|
||||
break;
|
||||
case _JOYSTICK_LEFT:
|
||||
if(mode == KEY_RELEASED){
|
||||
dv->Joystick->X(511);
|
||||
}else {
|
||||
dv->Joystick->X(0);
|
||||
if(check_pd2() == HIGH) {
|
||||
k = KEY_LEFT_ARROW;
|
||||
if(mode == KEY_PRESSED) {
|
||||
dv->Keyboard->press(k);
|
||||
}else if(mode == KEY_RELEASED) {
|
||||
dv->Keyboard->release(k);
|
||||
}
|
||||
}else {
|
||||
if(mode == KEY_RELEASED){
|
||||
dv->Joystick->X(511);
|
||||
}else {
|
||||
dv->Joystick->X(0);
|
||||
}
|
||||
}
|
||||
break;
|
||||
case _JOYSTICK_RIGHT:
|
||||
if(mode == KEY_RELEASED){
|
||||
dv->Joystick->X(511);
|
||||
if(check_pd2() == HIGH) {
|
||||
k = KEY_RIGHT_ARROW;
|
||||
if(mode == KEY_PRESSED) {
|
||||
dv->Keyboard->press(k);
|
||||
}else if(mode == KEY_RELEASED) {
|
||||
dv->Keyboard->release(k);
|
||||
}
|
||||
}else {
|
||||
dv->Joystick->X(1023);
|
||||
if(mode == KEY_RELEASED){
|
||||
dv->Joystick->X(511);
|
||||
}else {
|
||||
dv->Joystick->X(1023);
|
||||
}
|
||||
}
|
||||
break;
|
||||
case _JOYSTICK_A:
|
||||
dv->Joystick->button(2,mode);
|
||||
if(check_pd2() == HIGH) {
|
||||
k = 'j';
|
||||
if(mode == KEY_PRESSED) {
|
||||
dv->Keyboard->press(k);
|
||||
}else if(mode == KEY_RELEASED) {
|
||||
dv->Keyboard->release(k);
|
||||
}
|
||||
}else {
|
||||
dv->Joystick->button(2,mode);
|
||||
}
|
||||
break;
|
||||
case _JOYSTICK_B:
|
||||
dv->Joystick->button(3,mode);
|
||||
if(check_pd2() == HIGH) {
|
||||
k = 'k';
|
||||
if(mode == KEY_PRESSED) {
|
||||
dv->Keyboard->press(k);
|
||||
}else if(mode == KEY_RELEASED) {
|
||||
dv->Keyboard->release(k);
|
||||
}
|
||||
}else {
|
||||
dv->Joystick->button(3,mode);
|
||||
}
|
||||
break;
|
||||
case _JOYSTICK_X:
|
||||
dv->Joystick->button(1,mode);
|
||||
if(check_pd2() == HIGH) {
|
||||
k = 'u';
|
||||
if(mode == KEY_PRESSED) {
|
||||
dv->Keyboard->press(k);
|
||||
}else if(mode == KEY_RELEASED) {
|
||||
dv->Keyboard->release(k);
|
||||
}
|
||||
}else {
|
||||
dv->Joystick->button(1,mode);
|
||||
}
|
||||
break;
|
||||
case _JOYSTICK_Y:
|
||||
dv->Joystick->button(4,mode);
|
||||
if(check_pd2() == HIGH) {
|
||||
k = 'i';
|
||||
if(mode == KEY_PRESSED) {
|
||||
dv->Keyboard->press(k);
|
||||
}else if(mode == KEY_RELEASED) {
|
||||
dv->Keyboard->release(k);
|
||||
}
|
||||
}else {
|
||||
dv->Joystick->button(4,mode);
|
||||
}
|
||||
break;
|
||||
case _MOUSE_LEFT:
|
||||
if(mode == KEY_PRESSED){
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user