void ipod_init_volume_control() { ipod_init_sound(); ipod_init_input(); ipod_init_backlight(); int input, exit; exit = 0; while (exit != 1) { input = ipod_get_keypress(); if (!KEYSTATE(input)) { // Pressed input = KEYCODE(input); switch (input) { case SCROLL_R: if (SCROLL_MOD(SCROLL_MOD_NUM)) { ipod_volume++; if (ipod_volume > 70) ipod_volume = 70; // To be safe - 70 is VERY loud ipod_update_volume(); } break; case KEY_ACTION: ipod_toggle_backlight(); break; case SCROLL_L: if (SCROLL_MOD(SCROLL_MOD_NUM)) { ipod_volume--; if (ipod_volume < 0) ipod_volume = 0; // Negative volume DNE! ipod_update_volume(); } break; case KEY_MENU: exit = 1; break; default: break; } } } printf("Exiting...\n"); ipod_exit_sound(); ipod_exit_input(); }
UINT mouseEvent(UINT p_event, bool status, LPARAM lParam) { UINT ret = 0; #define KEYSTATE(a) ((GetKeyState(VK_ ## a) & (1<<15)) != 0) #define MOUSE_OPTION(a,b) ((g_mouse_options[MOUSE_ACT_ ## a].mod & MOD_ ## b) != 0) if( g_mouse_options[MOUSE_ACT_DRAG].btn == p_event ) { if( ((!movingInProgress == status) && (KEYSTATE(LMENU) == MOUSE_OPTION(DRAG, ALT)) && (KEYSTATE(LCONTROL) == MOUSE_OPTION(DRAG, CONTROL)) && (KEYSTATE(LSHIFT) == MOUSE_OPTION(DRAG, SHIFT)) && (KEYSTATE(LWIN) == MOUSE_OPTION(DRAG, WIN))) || (movingInProgress && !status)) { if( MOUSE_OPTION(DRAG, ALT) || MOUSE_OPTION(DRAG, WIN) ) { keybd_event( VK_RSHIFT, 0x36, KEYEVENTF_EXTENDEDKEY | 0, 0 ); keybd_event( VK_RSHIFT, 0x36, KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP, 0 ); } if( status ) { if( drag_activation(lParam) ) ret = 1; } else { movingInProgress = false; ret = 1; } } } if( g_mouse_options[MOUSE_ACT_RESIZE].btn == p_event) { if( ((!resizeInProgress && status) && (KEYSTATE(LMENU) == MOUSE_OPTION(RESIZE, ALT)) && (KEYSTATE(LCONTROL) == MOUSE_OPTION(RESIZE, CONTROL)) && (KEYSTATE(LSHIFT) == MOUSE_OPTION(RESIZE, SHIFT)) && (KEYSTATE(LWIN) == MOUSE_OPTION(RESIZE, WIN))) || (resizeInProgress && !status)) { if( MOUSE_OPTION(RESIZE, ALT) || MOUSE_OPTION(RESIZE, WIN) ) { keybd_event( VK_RSHIFT, 0x36, KEYEVENTF_EXTENDEDKEY | 0, 0 ); keybd_event( VK_RSHIFT, 0x36, KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP, 0 ); } if( status ) { if( resize_activation(lParam) ) ret = 1; } else { resizeInProgress = false; ret = 1; } } } if( g_mouse_options[MOUSE_ACT_SWITCH].btn == p_event ) { if( (KEYSTATE(LMENU) == MOUSE_OPTION(SWITCH, ALT)) && (KEYSTATE(LCONTROL) == MOUSE_OPTION(SWITCH, CONTROL)) && (KEYSTATE(LSHIFT) == MOUSE_OPTION(SWITCH, SHIFT)) && (KEYSTATE(LWIN) == MOUSE_OPTION(SWITCH, WIN))) { if( MOUSE_OPTION(SWITCH, ALT) ) keybd_event(VK_LMENU, 0, KEYEVENTF_KEYUP, 0); if( MOUSE_OPTION(SWITCH, CONTROL) ) keybd_event(VK_LCONTROL, 0, KEYEVENTF_KEYUP, 0); if( MOUSE_OPTION(SWITCH, SHIFT) ) keybd_event(VK_LSHIFT, 0, KEYEVENTF_KEYUP, 0); change_current_window(lParam); ret = 1; } } #undef KEYSTATE #undef MOUSE_OPTION if( p_event == MOUSE_BTN_RIGHT ) { MOUSEHOOKSTRUCT ms = *((MOUSEHOOKSTRUCT *)lParam); HWND destHwnd = WindowFromPoint(ms.pt); DWORD dw; dw = SendMessage(destHwnd, WM_NCHITTEST, 0, MAKELPARAM((WORD)ms.pt.x, (WORD)ms.pt.y)); if (dw == HTMINBUTTON) { if( status ) { mouseHwndMinBtnPointed = destHwnd; ret = 1; } else { if( destHwnd == mouseHwndMinBtnPointed ) { traynizeWindow(destHwnd); //iconizeWindow(destHwnd); ret = 1; } else { destHwnd = NULL; } } } else if( mouseHwndMinBtnPointed != NULL ) { mouseHwndMinBtnPointed = NULL; } } return ret; }