about summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--input_win.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/input_win.c b/input_win.c
index 10fd2f40..96576070 100644
--- a/input_win.c
+++ b/input_win.c
@@ -176,6 +176,19 @@ static int _handle_edit(const int ch, char *input, int *size)
         }
         return 1;
 
+    case KEY_DC: // DEL
+        if (inp_x <= *size) {
+            wdelch(inp_win);
+    
+            // if not last char, shift chars left
+            if (inp_x < *size)
+                for (i = inp_x-1; i < *size; i++)
+                    input[i] = input[i+1];
+            
+            (*size)--;
+        }
+        return 1;
+
     case KEY_LEFT:
         if (inp_x > 1)
             wmove(inp_win, inp_y, inp_x-1);