1
0
mirror of https://github.com/mist-devel/mist-firmware.git synced 2026-02-02 14:31:13 +00:00

Use user button while keeping OSD button pressed to switch between RGB and YPbPr modes.

This commit is contained in:
sorgelig
2017-02-07 02:45:25 +08:00
parent 06052723e8
commit 8eeb813b71

View File

@@ -738,7 +738,7 @@ void user_io_send_buttons(char force) {
if(adc_state & 2) map |= SWITCH1;
if(adc_state & 4) map |= BUTTON1;
if(adc_state & 8) map |= BUTTON2;
else if(adc_state & 8) map |= BUTTON2;
if(kbd_reset) map |= BUTTON2;
// TODO adding conf here
@@ -1285,6 +1285,7 @@ void user_io_poll() {
// check for long press > 1 sec on menu button
// and toggle scandoubler on/off then
static unsigned long timer = 1;
static unsigned char ypbpr_toggle = 0;
if(user_io_menu_button())
{
if(timer == 1)
@@ -1300,11 +1301,31 @@ void user_io_poll() {
OsdDisableMenuButton(1);
}
}
if(adc_state & 8)
{
if(!ypbpr_toggle)
{
ypbpr_toggle = 1;
// toggle video mode bit
mist_cfg.ypbpr = !mist_cfg.ypbpr;
user_io_send_buttons(1);
timer = 2;
OsdDisableMenuButton(1);
}
}
else
{
ypbpr_toggle = 0;
}
}
else
{
timer = 1;
OsdDisableMenuButton(0);
ypbpr_toggle = 0;
}
}
@@ -1317,7 +1338,7 @@ char user_io_menu_button() {
}
char user_io_user_button() {
return((adc_state & 8)?1:0);
return((!user_io_menu_button() && (adc_state & 8))?1:0);
}
static void send_keycode(unsigned short code) {