improve handling backspace key

master
Andrzej Rybczak 17 years ago
parent cbc452fde5
commit a6635322a8
  1. 2
      src/settings.cpp
  2. 11
      src/window.cpp
  3. 4
      src/window.h

@ -153,7 +153,7 @@ void DefaultKeys(ncmpcpp_keys &keys)
keys.ToggleAutoCenter[0] = 'U';
keys.ToggleDisplayMode[0] = 'p';
keys.ToggleLyricsDB[0] = 'L';
keys.GoToParentDir[0] = 263;
keys.GoToParentDir[0] = KEY_BACKSPACE;
keys.SwitchTagTypeList[0] = '`';
keys.Quit[0] = 'q';

@ -443,7 +443,7 @@ string Window::GetString(const string &base, size_t length, size_t width, bool e
// these key codes are special and should be ignored
if ((input < 10 || (input > 10 && input < 32))
# ifdef USE_PDCURSES
&& input != 8) // backspace key in pdcurses
&& input != KEY_BACKSPACE)
# else
)
# endif // USE_PDCURSES
@ -467,9 +467,6 @@ string Window::GetString(const string &base, size_t length, size_t width, bool e
break;
}
case KEY_BACKSPACE: case 127:
# ifdef USE_PDCURSES
case 8: // backspace key in pdcurses
# endif // USE_PDCURSES
{
if (x <= minx && !beginning)
break;
@ -483,11 +480,7 @@ string Window::GetString(const string &base, size_t length, size_t width, bool e
}
else if (beginning > 0)
beginning--;
if (input != KEY_BACKSPACE && input != 127
# ifdef USE_PDCURSES
&& input != 8 // backspace key in pdcurses
# endif // USE_PDCURSES
)
if (input != KEY_BACKSPACE && input != 127)
break; // backspace = left & delete.
}
case KEY_DC:

@ -31,6 +31,10 @@
#include <vector>
#include <string>
// this points to nothing, so redefine it
#undef KEY_BACKSPACE
#define KEY_BACKSPACE 8
#ifdef _UTF8
# define my_char_t wchar_t
# define TO_STRING(x) ToString(x)

Loading…
Cancel
Save