diff --git a/doc/keys b/doc/keys index e879e637..62db6047 100644 --- a/doc/keys +++ b/doc/keys @@ -38,6 +38,8 @@ # #key_toggle_add_mode = 'T' # +#key_toggle_mouse = '|' +# #key_screen_switcher = 9 # #key_help = '1' 265 diff --git a/src/help.cpp b/src/help.cpp index 70fa7858..9d02374c 100644 --- a/src/help.cpp +++ b/src/help.cpp @@ -160,6 +160,7 @@ void Help::GetKeybindings() *w << DisplayKeys(Key.ToggleSpaceMode) << "Toggle space mode (select/add)\n"; *w << DisplayKeys(Key.ToggleAddMode) << "Toggle add mode\n"; + *w << DisplayKeys(Key.ToggleMouse) << "Toggle mouse support\n"; *w << DisplayKeys(Key.ReverseSelection) << "Reverse selection\n"; *w << DisplayKeys(Key.DeselectAll) << "Deselect all items\n"; *w << DisplayKeys(Key.AddSelected) << "Add selected items to playlist/m3u file\n\n"; diff --git a/src/ncmpcpp.cpp b/src/ncmpcpp.cpp index 37b3d15a..d97a8a07 100644 --- a/src/ncmpcpp.cpp +++ b/src/ncmpcpp.cpp @@ -194,11 +194,9 @@ int main(int argc, char *argv[]) gettimeofday(&now, 0); MEVENT mouse_event; + mouseinterval(0); if (Config.mouse_support) - { mousemask(ALL_MOUSE_EVENTS, 0); - mouseinterval(0); - } while (!main_exit) { @@ -1766,6 +1764,12 @@ int main(int argc, char *argv[]) Config.ncmpc_like_songs_adding = !Config.ncmpc_like_songs_adding; ShowMessage("Add mode: %s", Config.ncmpc_like_songs_adding ? "Add item to playlist, remove if already added" : "Always add item to playlist"); } + else if (Keypressed(input, Key.ToggleMouse)) + { + Config.mouse_support = !Config.mouse_support; + mousemask(Config.mouse_support ? ALL_MOUSE_EVENTS : 0, 0); + ShowMessage("Mouse support %s", Config.mouse_support ? "enabled" : "disabled"); + } else if (Keypressed(input, Key.SwitchTagTypeList)) { if (myScreen == myPlaylist) diff --git a/src/settings.cpp b/src/settings.cpp index 3e2650d9..60f3d32b 100644 --- a/src/settings.cpp +++ b/src/settings.cpp @@ -123,6 +123,7 @@ void DefaultKeys(ncmpcpp_keys &keys) keys.ToggleConsume[0] = 'R'; keys.ToggleSpaceMode[0] = 't'; keys.ToggleAddMode[0] = 'T'; + keys.ToggleMouse[0] = '|'; keys.Shuffle[0] = 'Z'; keys.ToggleCrossfade[0] = 'x'; keys.SetCrossfade[0] = 'X'; @@ -191,6 +192,7 @@ void DefaultKeys(ncmpcpp_keys &keys) keys.ToggleConsume[1] = null_key; keys.ToggleSpaceMode[1] = null_key; keys.ToggleAddMode[1] = null_key; + keys.ToggleMouse[1] = null_key; keys.Shuffle[1] = null_key; keys.ToggleCrossfade[1] = null_key; keys.SetCrossfade[1] = null_key; @@ -374,6 +376,8 @@ void ReadKeys(ncmpcpp_keys &keys) GetKeys(key, keys.ToggleSpaceMode); else if (key.find("key_toggle_add_mode ") != string::npos) GetKeys(key, keys.ToggleAddMode); + else if (key.find("key_toggle_mouse ") != string::npos) + GetKeys(key, keys.ToggleMouse); else if (key.find("key_shuffle ") != string::npos) GetKeys(key, keys.Shuffle); else if (key.find("key_toggle_crossfade ") != string::npos) diff --git a/src/settings.h b/src/settings.h index 6798c385..0d7896b3 100644 --- a/src/settings.h +++ b/src/settings.h @@ -71,6 +71,7 @@ struct ncmpcpp_keys int ToggleConsume[2]; int ToggleSpaceMode[2]; int ToggleAddMode[2]; + int ToggleMouse[2]; int Shuffle[2]; int ToggleCrossfade[2]; int SetCrossfade[2];