summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/Fl_Input.cxx11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/Fl_Input.cxx b/src/Fl_Input.cxx
index 0a94c872c..928398c14 100644
--- a/src/Fl_Input.cxx
+++ b/src/Fl_Input.cxx
@@ -164,11 +164,12 @@ int Fl_Input::handle_key() {
return 1;
} else return 1;
#else
- if (mods==0) {
- ascii = ctrl('D');
- } else if (mods==FL_SHIFT) {
- ascii = ctrl('X');
- } else return 1;
+ if (mods) return 1; // Alt-Del/Ctrl-Del/Meta-Del: do nothing
+ if (Fl::event_state() & FL_SHIFT) {
+ ascii = ctrl('X'); // Shift-Del -> ^X
+ } else {
+ ascii = ctrl('D'); // Del -> ^D
+ }
#endif
break;
case FL_Left: