diff --git a/mist_cfg.c b/mist_cfg.c index 98266c2..ad5933a 100644 --- a/mist_cfg.c +++ b/mist_cfg.c @@ -33,6 +33,7 @@ const ini_var_t mist_ini_vars[] = { { "VIDEO_MODE", (void*)(mist_cfg.video_conf), STRING, 0, sizeof(mist_cfg.video_conf)-1, 1 }, { "HDMI_AUDIO_96K", (void*)(&(mist_cfg.hdmi_audio_96k)), UINT8, 0, 1, 1 }, { "DVI_MODE", (void*)(&(mist_cfg.dvi)), UINT8, 0, 1, 1 }, + { "KBD_NOMOUSE", (void*)(&(mist_cfg.kbd_nomouse)), UINT8, 0, 1, 1 }, }; // mist ini config diff --git a/mist_cfg.h b/mist_cfg.h index d5b5d75..706ebbb 100644 --- a/mist_cfg.h +++ b/mist_cfg.h @@ -23,6 +23,7 @@ typedef struct { uint8_t hdmi_audio_96k; uint8_t dvi; uint8_t video_mode; + uint8_t kbd_nomouse; char video_conf[1024]; } mist_cfg_t; diff --git a/user_io.c b/user_io.c index d17a3b0..fe6cc67 100644 --- a/user_io.c +++ b/user_io.c @@ -1822,7 +1822,11 @@ void user_io_kbd(uint16_t key, int press) default: if (joy_force) emu_mode = (emu_mode == EMU_JOY0) ? EMU_JOY1 : EMU_JOY0; - else emu_mode = (emu_mode + 1) & 3; + else + { + emu_mode = (emu_mode + 1) & 3; + if(mist_cfg.kbd_nomouse && emu_mode == EMU_MOUSE) emu_mode = (emu_mode + 1) & 3; + } break; } input_notify_mode();