billiob pushed a commit to branch master.

http://git.enlightenment.org/apps/terminology.git/commit/?id=61a56ae029fa38086e455090d09882aef72268cb

commit 61a56ae029fa38086e455090d09882aef72268cb
Author: Boris Faure <[email protected]>
Date:   Mon Mar 4 23:05:40 2019 +0100

    termiointernals: handle mouse wheel with alt + tests
---
 src/bin/termiointernals.c                                 | 10 ++++++----
 tests/mouse_reporting_mode_all_ext_none.sh                |  6 ++++--
 tests/mouse_reporting_mode_all_ext_utf8.sh                |  4 +++-
 tests/mouse_reporting_mode_mouse_move_pressed_ext_none.sh |  4 +++-
 tests/mouse_reporting_mode_mouse_move_pressed_ext_utf8.sh |  4 +++-
 tests/mouse_reporting_mode_normal_ext_none.sh             |  4 +++-
 tests/mouse_reporting_mode_normal_ext_utf8.sh             |  4 +++-
 tests/mouse_reporting_mode_x10_ext_none.sh                |  4 +++-
 tests/mouse_reporting_mode_x10_ext_utf8.sh                |  4 +++-
 tests/tests.results                                       | 12 ++++++------
 10 files changed, 37 insertions(+), 19 deletions(-)

diff --git a/src/bin/termiointernals.c b/src/bin/termiointernals.c
index 57142a4..8a8b581 100644
--- a/src/bin/termiointernals.c
+++ b/src/bin/termiointernals.c
@@ -2127,10 +2127,12 @@ termio_internal_mouse_wheel(Termio *sd,
    else
      {
        int cx = 0, cy = 0;
+       int meta;
 
        termio_cursor_to_xy(sd, ev->canvas.x, ev->canvas.y, &cx, &cy);
        if (sd->pty->mouse_mode == MOUSE_X10)
          return;
+       meta = (modifiers.alt) ? 8 : 0;
 
        switch (sd->pty->mouse_ext)
          {
@@ -2142,7 +2144,7 @@ termio_internal_mouse_wheel(Termio *sd,
                  buf[0] = 0x1b;
                  buf[1] = '[';
                  buf[2] = 'M';
-                 buf[3] = btn + ' ';
+                 buf[3] = (btn | meta) + ' ';
                  buf[4] = (cx > 94) ? ' ' : cx + 1 + ' ';
                  buf[5] = (cy > 94) ? ' ' : cy + 1 + ' ';
                  buf[6] = 0;
@@ -2157,7 +2159,7 @@ termio_internal_mouse_wheel(Termio *sd,
                  buf[0] = 0x1b;
                  buf[1] = '[';
                  buf[2] = 'M';
-                 buf[3] = btn;
+                 buf[3] = btn | meta;
                  i = 4;
                  v = cx + 1 + ' ';
                  if (v <= 127) buf[i++] = v;
@@ -2181,7 +2183,7 @@ termio_internal_mouse_wheel(Termio *sd,
               {
                  int btn = (ev->z >= 0) ? 1 + 64 : 64;
                  snprintf(buf, sizeof(buf), "%c[<%i;%i;%iM", 0x1b,
-                          btn, cx + 1, cy + 1);
+                          btn | meta, cx + 1, cy + 1);
                  termpty_write(sd->pty, buf, strlen(buf));
               }
             break;
@@ -2189,7 +2191,7 @@ termio_internal_mouse_wheel(Termio *sd,
               {
                  int btn = (ev->z >= 0) ? 1 + 64 : 64;
                  snprintf(buf, sizeof(buf), "%c[%i;%i;%iM", 0x1b,
-                          btn + ' ',
+                          (btn | meta) + ' ',
                           cx + 1, cy + 1);
                  termpty_write(sd->pty, buf, strlen(buf));
               }
diff --git a/tests/mouse_reporting_mode_all_ext_none.sh 
b/tests/mouse_reporting_mode_all_ext_none.sh
index 6decc75..24a9185 100755
--- a/tests/mouse_reporting_mode_all_ext_none.sh
+++ b/tests/mouse_reporting_mode_all_ext_none.sh
@@ -179,12 +179,14 @@ printf '\033}tr\0'
 sleep 0.2
 
 ## WHEEL
-# prints ^[[M`=)^[[M+e)
+# prints ^[[M`=)^[[Ma=)^[[M`e)^[[Mae)
 # move cursor
 printf '\033[10H'
 # wheel up/down
 printf '\033}tw;200;130;1;1;1\0'
-printf '\033}tu;480;130;0;1;1\0'
+printf '\033}tw;200;130;0;1;1\0'
+printf '\033}tw;480;130;1;1;1\0'
+printf '\033}tw;480;130;0;1;1\0'
 # force render
 printf '\033}tr\0'
 sleep 0.2
diff --git a/tests/mouse_reporting_mode_all_ext_utf8.sh 
b/tests/mouse_reporting_mode_all_ext_utf8.sh
index fe4654c..9005e45 100755
--- a/tests/mouse_reporting_mode_all_ext_utf8.sh
+++ b/tests/mouse_reporting_mode_all_ext_utf8.sh
@@ -184,7 +184,9 @@ sleep 0.2
 printf '\033[10H'
 # wheel up/down
 printf '\033}tw;200;130;1;1;1\0'
-printf '\033}tu;480;130;0;1;1\0'
+printf '\033}tw;200;130;0;1;1\0'
+printf '\033}tw;480;130;1;1;1\0'
+printf '\033}tw;480;130;0;1;1\0'
 # force render
 printf '\033}tr\0'
 sleep 0.2
diff --git a/tests/mouse_reporting_mode_mouse_move_pressed_ext_none.sh 
b/tests/mouse_reporting_mode_mouse_move_pressed_ext_none.sh
index 71e59df..11378c0 100755
--- a/tests/mouse_reporting_mode_mouse_move_pressed_ext_none.sh
+++ b/tests/mouse_reporting_mode_mouse_move_pressed_ext_none.sh
@@ -184,7 +184,9 @@ sleep 0.2
 printf '\033[10H'
 # wheel up/down
 printf '\033}tw;200;130;1;1;1\0'
-printf '\033}tu;480;130;0;1;1\0'
+printf '\033}tw;200;130;0;1;1\0'
+printf '\033}tw;480;130;1;1;1\0'
+printf '\033}tw;480;130;0;1;1\0'
 # force render
 printf '\033}tr\0'
 sleep 0.2
diff --git a/tests/mouse_reporting_mode_mouse_move_pressed_ext_utf8.sh 
b/tests/mouse_reporting_mode_mouse_move_pressed_ext_utf8.sh
index 0f7784b..8051b6e 100755
--- a/tests/mouse_reporting_mode_mouse_move_pressed_ext_utf8.sh
+++ b/tests/mouse_reporting_mode_mouse_move_pressed_ext_utf8.sh
@@ -184,7 +184,9 @@ sleep 0.2
 printf '\033[10H'
 # wheel up/down
 printf '\033}tw;200;130;1;1;1\0'
-printf '\033}tu;480;130;0;1;1\0'
+printf '\033}tw;200;130;0;1;1\0'
+printf '\033}tw;480;130;1;1;1\0'
+printf '\033}tw;480;130;0;1;1\0'
 # force render
 printf '\033}tr\0'
 sleep 0.2
diff --git a/tests/mouse_reporting_mode_normal_ext_none.sh 
b/tests/mouse_reporting_mode_normal_ext_none.sh
index 2aca9a2..e488731 100755
--- a/tests/mouse_reporting_mode_normal_ext_none.sh
+++ b/tests/mouse_reporting_mode_normal_ext_none.sh
@@ -158,7 +158,9 @@ sleep 0.2
 printf '\033[10H'
 # wheel up/down
 printf '\033}tw;200;130;1;1;1\0'
-printf '\033}tu;480;130;0;1;1\0'
+printf '\033}tw;200;130;0;1;1\0'
+printf '\033}tw;480;130;1;1;1\0'
+printf '\033}tw;480;130;0;1;1\0'
 # force render
 printf '\033}tr\0'
 sleep 0.2
diff --git a/tests/mouse_reporting_mode_normal_ext_utf8.sh 
b/tests/mouse_reporting_mode_normal_ext_utf8.sh
index d104064..61bcc40 100755
--- a/tests/mouse_reporting_mode_normal_ext_utf8.sh
+++ b/tests/mouse_reporting_mode_normal_ext_utf8.sh
@@ -171,7 +171,9 @@ sleep 0.2
 printf '\033[10H'
 # wheel up/down
 printf '\033}tw;200;130;1;1;1\0'
-printf '\033}tu;480;130;0;1;1\0'
+printf '\033}tw;200;130;0;1;1\0'
+printf '\033}tw;480;130;1;1;1\0'
+printf '\033}tw;480;130;0;1;1\0'
 # force render
 printf '\033}tr\0'
 sleep 0.2
diff --git a/tests/mouse_reporting_mode_x10_ext_none.sh 
b/tests/mouse_reporting_mode_x10_ext_none.sh
index 2bcfdf2..4d86e79 100755
--- a/tests/mouse_reporting_mode_x10_ext_none.sh
+++ b/tests/mouse_reporting_mode_x10_ext_none.sh
@@ -156,7 +156,9 @@ sleep 0.2
 printf '\033[10H'
 # wheel up/down
 printf '\033}tw;200;130;1;1;1\0'
-printf '\033}tu;480;130;0;1;1\0'
+printf '\033}tw;200;130;0;1;1\0'
+printf '\033}tw;480;130;1;1;1\0'
+printf '\033}tw;480;130;0;1;1\0'
 # force render
 printf '\033}tr\0'
 sleep 0.2
diff --git a/tests/mouse_reporting_mode_x10_ext_utf8.sh 
b/tests/mouse_reporting_mode_x10_ext_utf8.sh
index b1d610e..bc5333c 100755
--- a/tests/mouse_reporting_mode_x10_ext_utf8.sh
+++ b/tests/mouse_reporting_mode_x10_ext_utf8.sh
@@ -157,7 +157,9 @@ sleep 0.2
 printf '\033[10H'
 # wheel up/down
 printf '\033}tw;200;130;1;1;1\0'
-printf '\033}tu;480;130;0;1;1\0'
+printf '\033}tw;200;130;0;1;1\0'
+printf '\033}tw;480;130;1;1;1\0'
+printf '\033}tw;480;130;0;1;1\0'
 # force render
 printf '\033}tr\0'
 sleep 0.2
diff --git a/tests/tests.results b/tests/tests.results
index 593834d..62a38b3 100644
--- a/tests/tests.results
+++ b/tests/tests.results
@@ -103,11 +103,11 @@ selection_box_to_paragraph.sh 
7b918d2af64eef1ecb39a0f45cf72f2d
 selection_invalidation_line_removed.sh 8d689636f976b044dfbf6af6b3333093
 resize_window_no_content_change.sh 28d45fe49c686c8c98631cce8e4bd368
 mouse_reporting_mode_x10_ext_none.sh b56ef7d0e2cc236e31ff2e149528833b
-mouse_reporting_mode_normal_ext_none.sh 56cb28ca5427a0b0a97642ccdba5464d
-mouse_reporting_mode_mouse_move_pressed_ext_none.sh 
a7e5706a2225653e5d0764d68ef01c0b
-mouse_reporting_mode_all_ext_none.sh 69de2da01fe8332fb024b036509fff14
+mouse_reporting_mode_normal_ext_none.sh f93ea2ac6acb8d36cac9e37e06ed9bd8
+mouse_reporting_mode_mouse_move_pressed_ext_none.sh 
f733c0b36c0086719e85ec1d998d0762
+mouse_reporting_mode_all_ext_none.sh b48a73bf07c6438510f709e87faa4dc0
 mouse_reporting_mode_x10_ext_utf8.sh c503d835cde7b0d147ae7a61e1b44fd1
-mouse_reporting_mode_normal_ext_utf8.sh 7acfea21b2fd997436d4fbee7610a9f9
-mouse_reporting_mode_mouse_move_pressed_ext_utf8.sh 
e5169c67f10ccc035089bf49ba9e1fa2
-mouse_reporting_mode_all_ext_utf8.sh 2d828e122ff45b29fa99094208164f27
+mouse_reporting_mode_normal_ext_utf8.sh 2f615fa516bbf2ad4233f522a0f007d9
+mouse_reporting_mode_mouse_move_pressed_ext_utf8.sh 
5b463446271bcbf765f4620e74a11806
+mouse_reporting_mode_all_ext_utf8.sh 006c317e1efd1c5abd0e4ee1830470f5
 mouse_reporting_mode_x10_ext_sgr.sh 82517b141a920771f5324bb1648c4cd2

-- 


Reply via email to