android source x86_64 8.1 - hovering stylus over the screen - please test someone.

194 views
Skip to first unread message

mirek190

unread,
Jul 23, 2019, 9:23:47 PM7/23/19
to Android-x86
Hi

I have a question to someone who has the stylus for the touch screen.

Is the hoovering the stylus works properly - not touching buttons or moving screen ?


Thanks   

Jon West

unread,
Jul 24, 2019, 6:06:12 PM7/24/19
to Android-x86
I can confirm that hover actions work when using the stylus for both the Surface Book 1, and the Acer Switch Alpha 12, but I feel the need to remind you that this is still Android, with a touch-first UI, so the only places you'll really find hover actions is when using WebView or other tasks or apps that specifically program them in for mouse interactions. 
Message has been deleted

mirek190

unread,
Jul 24, 2019, 7:29:48 PM7/24/19
to Android-x86
Thanks for reply.

I have goodix touch panel with the stylus.
The implementation of that is described here https://source.android.com/devices/input/touch-devices 

The thing is Android from 6.0 handling the stylus hover without any problem  and if you switch on in the development options showing touch actions and we actually see hovering , touch pressure of our stylus , etc .... BUT why hovering pressing buttons ???

I tried to calibrate it via .idc config but seems not all options works ..
Looks is missing something in the frameworks ??

I'll be trying to fix it ...

Mauro Rossi

unread,
Jul 28, 2019, 4:47:29 PM7/28/19
to Android-x86
Hi Marek,


On Thursday, July 25, 2019 at 1:29:48 AM UTC+2, mirek190 wrote:
Thanks for reply.

I have goodix touch panel with the stylus.
The implementation of that is described here https://source.android.com/devices/input/touch-devices 

The thing is Android from 6.0 handling the stylus hover without any problem  and if you switch on in the development options showing touch actions and we actually see hovering , touch pressure of our stylus , etc .... BUT why hovering pressing buttons ???

I tried to calibrate it via .idc config but seems not all options works ..
Looks is missing something in the frameworks ??

I'll be trying to fix it ...

Inputfliger.cpp in android-x86 seems to have specific changes

I have reverted the following commits in this sequence and now eNote stylus pen hovering 
seems working, please check and confirm.

cd oreo-x86
cd frameworks
/native
git revert bf8d48c1742e9df94bf25742248a1a282011f5cc
("inputflinger: treat tablet-style inputs as absolute coordinate mouse pointer")
git revert ad52858ef797972dc6985cdbab37fe745e1808d9
("Added option to disable touchscreen pressure sensitivity from idc files)


Mauro

mirek190

unread,
Jul 28, 2019, 7:53:58 PM7/28/19
to Android-x86
Thanks 
I will test and feedback in 15 hours.

mirek190

unread,
Jul 29, 2019, 8:36:57 PM7/29/19
to Android-x86
I made tests ...

Unfortunately adding those 2 reverts not solved the problem.
The stylus still during hovering triggering buttons, UI etc

I think problem is how Android recognize the stylus .. at least the goodix stylus.

I think during hovering the stylus should behave like a mouse hovering but is not ...

So ... properly modd the fingerprint service should solve it ... I think .

mirek190

unread,
Sep 12, 2019, 6:23:41 PM9/12/19
to Android-x86
Hi

I fixed the stylus hoovering completely for my touchscreen driver ( goodix gt9111 ).
The hovering stylus not touch the buttons anymore and behaving like it should - hovering the pen only showing the position over buttons and straight contact to the screen triggering press action. 

DIFF


--- 1/goodix.c 2019-06-13 03:31:48.000000000 +0100
+++ goodix.c 2019-09-12 23:05:02.310576086 +0100
@@ -304,13 +304,15 @@
  int input_x = get_unaligned_le16(&coor_data[1]);
  int input_y = get_unaligned_le16(&coor_data[3]);
  int input_w = get_unaligned_le16(&coor_data[5]);
+// added ABS_MT_PRESSURE for Android_x86 now is able to recognize the stylus hooverivg for the touchscreen gt9xx. 
+ int input_p = get_unaligned_le16(&coor_data[5]);
 
  input_mt_slot(ts->input_dev, id);
  input_mt_report_slot_state(ts->input_dev, MT_TOOL_FINGER, true);
  touchscreen_report_pos(ts->input_dev, &ts->prop,
         input_x, input_y, true);
- input_report_abs(ts->input_dev, ABS_MT_TOUCH_MAJOR, input_w);
  input_report_abs(ts->input_dev, ABS_MT_WIDTH_MAJOR, input_w);
+ input_report_abs(ts->input_dev, ABS_MT_PRESSURE, input_p);
 }
 
 /**
@@ -696,7 +698,7 @@
  input_set_capability(ts->input_dev, EV_ABS, ABS_MT_POSITION_X);
  input_set_capability(ts->input_dev, EV_ABS, ABS_MT_POSITION_Y);
  input_set_abs_params(ts->input_dev, ABS_MT_WIDTH_MAJOR, 0, 255, 0, 0);
- input_set_abs_params(ts->input_dev, ABS_MT_TOUCH_MAJOR, 0, 255, 0, 0);
+ input_set_abs_params(ts->input_dev, ABS_MT_PRESSURE, 0, 255, 0, 0);
 
  /* Read configuration and apply touchscreen parameters */
  goodix_read_config(ts);
@@ -986,5 +988,6 @@
 
 MODULE_AUTHOR("Benjamin Tissoires <benjamin....@gmail.com>");
 MODULE_AUTHOR("Bastien Nocera <had...@hadess.net>");
 MODULE_DESCRIPTION("Goodix touchscreen driver");
 MODULE_LICENSE("GPL v2");

Chih-Wei Huang

unread,
Sep 16, 2019, 11:59:48 AM9/16/19
to Android-x86
Thank you! I've applied the patch.

mirek190 <mire...@gmail.com> 於 2019年9月13日 週五 上午6:36寫道:
Reply all
Reply to author
Forward
0 new messages