summaryrefslogtreecommitdiff
path: root/clients/editor.c
diff options
context:
space:
mode:
authorJan Arne Petersen <jpetersen@openismus.com>2013-01-16 21:26:52 +0100
committerKristian Høgsberg <krh@bitplanet.net>2013-02-15 17:02:48 -0500
commit3fb6e718147d89f459574c16ff803c2caa7bf1b1 (patch)
tree62c4032de0fafb7e2a982fe761afd946a12a8f40 /clients/editor.c
parent8746ba0d29c5e9987700b06c2cf3b9962cf58a93 (diff)
editor: Add support for backspace keysym events
Signed-off-by: Jan Arne Petersen <jpetersen@openismus.com>
Diffstat (limited to 'clients/editor.c')
-rw-r--r--clients/editor.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/clients/editor.c b/clients/editor.c
index 462c4003..2909109d 100644
--- a/clients/editor.c
+++ b/clients/editor.c
@@ -304,6 +304,24 @@ text_model_keysym(void *data,
return;
}
+ if (key == XKB_KEY_BackSpace) {
+ const char *start, *end;
+
+ text_entry_commit_and_reset(entry);
+
+ start = utf8_prev_char(entry->text, entry->text + entry->cursor);
+
+ if (start == NULL)
+ return;
+
+ end = utf8_end_char(entry->text + entry->cursor);
+ text_entry_delete_text(entry,
+ start - entry->text,
+ end - start);
+
+ return;
+ }
+
switch (key) {
case XKB_KEY_Tab:
key_label = "Tab";