50,6 → 50,8 |
|
|
|
String act_input_str=" "; |
|
boolean ipinput4proxy; |
byte ipinput_pos=0; |
int[] act_edit_ip; |
453,6 → 455,23 |
mk.motor_test(motor_test); |
break; |
|
case STATEID_STRINGINPUT: |
|
lcd_lines[0]=act_input_str; |
for(int tmp_i=act_input_str.length();tmp_i<20;tmp_i++) |
lcd_lines[0]+=(char)(0); |
|
lcd_lines[1]=""; |
for(int foo=0;foo<20;foo++) |
{ |
if (foo==ipinput_pos) |
lcd_lines[1]+="^"; |
else |
lcd_lines[1]+=" "; |
} |
break; |
|
|
case STATEID_IPINPUT: |
if (ipinput4proxy) |
act_edit_ip=settings.act_proxy_ip; |
917,6 → 936,7 |
paint_menu(g); |
break; |
//#endif |
case STATEID_STRINGINPUT: |
case STATEID_ABOUT: |
case STATEID_IPINPUT: |
paint_lcd(g,true); |
1222,7 → 1242,12 |
// prepare next state |
switch(next_state) |
{ |
|
case STATEID_STRINGINPUT: |
lcd_lines=new String[2]; |
lcd_lines[0]=act_input_str; |
lcd_lines[1]="^"; |
|
break; |
case STATEID_FLIGHTVIEW: |
mk.user_intent=USER_INTENT_LCD; |
break; |
1318,6 → 1343,7 |
|
case STATEID_ABOUT: |
lcd_lines=credits; |
lcd_lines[1]=" ufo-lib: " + mk.lib_version_str(); |
act_menu_select=max_lines-1; |
break; |
case STATEID_CONN_DETAILS: |
1337,11 → 1363,6 |
|
case STATEID_TRAFFIC: |
setup_menu(onlyback_menu_items,back_to_conndetails_actions); |
/* |
menu_items=new String[1]; |
lcd_lines=new String[1]; |
menu_items[0]="back"; |
*/ |
break; |
case STATEID_CAMMODE: |
|
1412,7 → 1433,7 |
case STATEID_SELECT_PARAMSET: |
menu_items=new String[5]; |
for (int i=0;i<5;i++) |
menu_items[i]=mk.params.names[i] + ((i==mk.params.active_paramset)?"*":""); |
menu_items[i]=""+i+": " + mk.params.names[i] + ((i==mk.params.active_paramset)?"*":""); |
|
lcd_lines=new String[5]; |
break; |
1565,22 → 1586,35 |
break; |
} |
} |
|
|
|
int last_keycode=-1; |
int repeat_keycode=0; |
|
public void keyPressed(int keyCode) |
{ |
if (last_keycode==keyCode) |
repeat_keycode++; |
else |
{ |
repeat_keycode=0; |
last_keycode=keyCode; |
} |
|
debug.log("KeyCode:"+keyCode); |
// key-actions common in all states |
debug.process_key(keyCode); |
|
/* |
|
if ((keyCode==KEY_NUM9)) |
{ chg_state(STATEID_FLASHING); } |
*/ |
{ chg_state(STATEID_STRINGINPUT); } |
|
|
|
|
|
if ((keyCode==KEY_STAR) || (keyCode==113)) |
|
if (((keyCode==KEY_STAR) || (keyCode==113) ))//&&(state!= STATEID_STRINGINPUT)) |
{ |
if (state==STATEID_EDIT_PARAMS) |
{ |
1595,6 → 1629,8 |
} |
|
} |
|
|
if ((keyCode==KEY_POUND)&&(state!=STATEID_KEYCONTROL)) |
{ |
settings.fullscreen=!settings.fullscreen; |
1609,6 → 1645,55 |
case STATEID_NC_ERRORS: |
chg_state(STATEID_MAINMENU); |
break; |
case STATEID_STRINGINPUT: |
if ((keyCode>=KEY_NUM2)&&(keyCode<=KEY_NUM9)) |
{ |
act_input_str=act_input_str.substring(0,ipinput_pos) + |
|
|
(char)( 97 + (keyCode-KEY_NUM2)*3 + ((keyCode>KEY_NUM7)?1:0) +(repeat_keycode%(((keyCode==KEY_NUM7)||(keyCode==KEY_NUM9))?4:3))) |
|
+ act_input_str.substring(ipinput_pos+1,act_input_str.length()); |
} |
else if ((keyCode==KEY_NUM0)) |
{ |
act_input_str=act_input_str.substring(0,ipinput_pos) + |
act_input_str.substring(ipinput_pos+1,act_input_str.length()); |
} |
else |
{ |
switch (getGameAction (keyCode)) |
{ |
|
case LEFT: |
if(ipinput_pos>0) ipinput_pos--; |
break; |
|
case RIGHT: |
if(ipinput_pos<19) ipinput_pos++; |
break; |
|
case UP: |
act_input_str=act_input_str.substring(0,ipinput_pos) + |
(char)((byte) act_input_str.charAt(ipinput_pos)-1) + act_input_str.substring(ipinput_pos+1,act_input_str.length()); |
|
break; |
case DOWN: |
act_input_str=act_input_str.substring(0,ipinput_pos) + |
(char)((byte) act_input_str.charAt(ipinput_pos)+1) + act_input_str.substring(ipinput_pos+1,act_input_str.length()); |
|
break; |
|
|
case FIRE: |
mk.params.set_name(act_input_str); |
chg_state(STATEID_HANDLE_PARAMS); |
break; |
} |
|
} |
if (act_input_str.length()<=ipinput_pos) act_input_str+=" "; |
break; |
case STATEID_IPINPUT: |
if ((keyCode>=KEY_NUM0)&&(keyCode<=KEY_NUM9)) |
{ |
1879,7 → 1964,11 |
switch(menu_actions[act_menu_select]) |
{ |
|
|
case ACTIONID_RENAME_PARAMS: |
act_input_str=mk.params.names[mk.params.act_paramset]; |
ipinput_pos=0; |
chg_state(STATEID_STRINGINPUT); |
break; |
case ACTIONID_SET_SPEED_FORMAT_CMS: |
mk.gps_position.act_speed_format=SPEED_FORMAT_CMS; |
chg_state(STATEID_SETTINGSMENU); |