aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/bin/termptyesc.c14
-rwxr-xr-xtests/dsr-udk.sh8
-rw-r--r--tests/tests.results1
3 files changed, 23 insertions, 0 deletions
diff --git a/src/bin/termptyesc.c b/src/bin/termptyesc.c
index 71b3a58..9cbea07 100644
--- a/src/bin/termptyesc.c
+++ b/src/bin/termptyesc.c
@@ -1025,6 +1025,20 @@ _handle_esc_csi_dsr(Termpty *ty, Eina_Unicode *b)
(question_mark)? "yes": "no", arg);
}
break;
+ case 25:
+ if (question_mark)
+ {
+ /* DSR-UDK (User-Defined Keys)
+ * Reply Unlocked */
+ termpty_write(ty, "\033[?20n",
+ strlen("\033[?20n"));
+ }
+ else
+ {
+ WRN("unhandled DSR (dec specific: %s) %d",
+ (question_mark)? "yes": "no", arg);
+ }
+ break;
case 26:
if (question_mark)
{
diff --git a/tests/dsr-udk.sh b/tests/dsr-udk.sh
new file mode 100755
index 0000000..0413030
--- /dev/null
+++ b/tests/dsr-udk.sh
@@ -0,0 +1,8 @@
+#!/bin/sh
+
+# fill space with E
+printf '\033#8'
+#set color
+printf '\033[46;31;3m'
+
+printf '\033[?25n'
diff --git a/tests/tests.results b/tests/tests.results
index 2a96988..ae06677 100644
--- a/tests/tests.results
+++ b/tests/tests.results
@@ -24,3 +24,4 @@ dsr-msr.sh 1e695391937cf7235ba96dbeae5227fd
dsr-deccksr.sh 6c3483e8e47a110a7b97eaffd9c5ff83
dsr-os.sh 1645f13652d7ee51d66dc93000247280
dsr-pp.sh 0f0a7d5beccefbad4f4984fc4611276e
+dsr-udk.sh f3a20968a2f25bfd36875dbc5f64ab16