improve handling backspace key
This commit is contained in:
@@ -153,7 +153,7 @@ void DefaultKeys(ncmpcpp_keys &keys)
|
|||||||
keys.ToggleAutoCenter[0] = 'U';
|
keys.ToggleAutoCenter[0] = 'U';
|
||||||
keys.ToggleDisplayMode[0] = 'p';
|
keys.ToggleDisplayMode[0] = 'p';
|
||||||
keys.ToggleLyricsDB[0] = 'L';
|
keys.ToggleLyricsDB[0] = 'L';
|
||||||
keys.GoToParentDir[0] = 263;
|
keys.GoToParentDir[0] = KEY_BACKSPACE;
|
||||||
keys.SwitchTagTypeList[0] = '`';
|
keys.SwitchTagTypeList[0] = '`';
|
||||||
keys.Quit[0] = 'q';
|
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
|
// these key codes are special and should be ignored
|
||||||
if ((input < 10 || (input > 10 && input < 32))
|
if ((input < 10 || (input > 10 && input < 32))
|
||||||
# ifdef USE_PDCURSES
|
# ifdef USE_PDCURSES
|
||||||
&& input != 8) // backspace key in pdcurses
|
&& input != KEY_BACKSPACE)
|
||||||
# else
|
# else
|
||||||
)
|
)
|
||||||
# endif // USE_PDCURSES
|
# endif // USE_PDCURSES
|
||||||
@@ -467,9 +467,6 @@ string Window::GetString(const string &base, size_t length, size_t width, bool e
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case KEY_BACKSPACE: case 127:
|
case KEY_BACKSPACE: case 127:
|
||||||
# ifdef USE_PDCURSES
|
|
||||||
case 8: // backspace key in pdcurses
|
|
||||||
# endif // USE_PDCURSES
|
|
||||||
{
|
{
|
||||||
if (x <= minx && !beginning)
|
if (x <= minx && !beginning)
|
||||||
break;
|
break;
|
||||||
@@ -483,11 +480,7 @@ string Window::GetString(const string &base, size_t length, size_t width, bool e
|
|||||||
}
|
}
|
||||||
else if (beginning > 0)
|
else if (beginning > 0)
|
||||||
beginning--;
|
beginning--;
|
||||||
if (input != KEY_BACKSPACE && input != 127
|
if (input != KEY_BACKSPACE && input != 127)
|
||||||
# ifdef USE_PDCURSES
|
|
||||||
&& input != 8 // backspace key in pdcurses
|
|
||||||
# endif // USE_PDCURSES
|
|
||||||
)
|
|
||||||
break; // backspace = left & delete.
|
break; // backspace = left & delete.
|
||||||
}
|
}
|
||||||
case KEY_DC:
|
case KEY_DC:
|
||||||
|
|||||||
@@ -31,6 +31,10 @@
|
|||||||
#include <vector>
|
#include <vector>
|
||||||
#include <string>
|
#include <string>
|
||||||
|
|
||||||
|
// this points to nothing, so redefine it
|
||||||
|
#undef KEY_BACKSPACE
|
||||||
|
#define KEY_BACKSPACE 8
|
||||||
|
|
||||||
#ifdef _UTF8
|
#ifdef _UTF8
|
||||||
# define my_char_t wchar_t
|
# define my_char_t wchar_t
|
||||||
# define TO_STRING(x) ToString(x)
|
# define TO_STRING(x) ToString(x)
|
||||||
|
|||||||
Reference in New Issue
Block a user