Skip to content
This repository has been archived by the owner. It is now read-only.

Make the touchscreen work on samsung-gts210vewifi #1516

Merged
merged 5 commits into from May 28, 2018

Conversation

Projects
None yet
2 participants
@k-laus
Copy link
Contributor

commented May 27, 2018

touchscreen works now :-)
Had to use ATTRS{name}=="sec_touchscreen" instead of
ENV{DEVNAME}=="/dev/input/event2" which solved

  1. detection problem on cold-booting: touchscreen was not detected/activated at all, only was activated if booted via TWRP Reboot>System
  2. touchscreen was falsely detected as touchpad

[x] Merge on GitHub (see https://postmarketos.org/merge)

k-laus added some commits Mar 28, 2018

new device gts210vewifi, Samsung Galaxy Tab S2 9.7
see
https://wiki.postmarketos.org/wiki/Samsung_Galaxy_Tab_S2_9.7_Wifi_(samsung-gts210vewifi)

pointercal created with ts_calibrate, and
deviceinfo_dev_touchscreen_calibration calculated from pointercal
  values as weston-calibrator only hung
  see also
  * https://wiki.postmarketos.org/wiki/Screen_Calibration#Touch_screen
  * https://lists.freedesktop.org/archives/wayland-devel/2014-September/017581.html

touchscreen udev rule with rotation matrix for 90deg left rotation

weston/xfce4/mate/plasma-mobile all do not react on screen touches,
see https://bpaste.net/show/5a77196b8c2a for details, but evtest shows
meaningful ABS positions.
plasma-mobile sees this (logread):
  kwin_libinput: Libinput: event2  - pressure: begin touch
  kwin_libinput: Libinput: event2  - palm: palm detected (pressure)
  kwin_libinput: Libinput: event2  - button state: from BUTTON_STATE_NONE, event BUTTON_EVENT_IN_AREA to BUTTON_STATE_AREA
  kwin_libinput: Libinput: event2  - tap state: TAP_STATE_IDLE ? TAP_EVENT_PALM ? TAP_STATE_IDLE
  kwin_libinput: Libinput: event2  - pressure: end touch
updated based-on comment
based on kernel/samsung/msm8976/arch/arm64/configs/gts210vewifi_defconfig
cleaning up for PR #1493
* only use auto-generated 90-$pkgname.rules, no pointercal created/needed
* removed not needed git dependency
* use tabs instead of spaces for indentation
* removed debug statements,
* removed the two RNDIS-related patch files that are no longer needed as
  CONFIG_USB_G_ANDROID is used now instead of CONFIG_USB_ETH_RNDIS, which
  would have needed those patches
touch works: using ATTRS{name}=="sec_touchscreen"
* need ATTRS{name}=="sec_touchscreen" else device detected as touchpad!
* give size hint (in mm) otherwise too small size is assumed
* to avoid palm detection, need palm pressure threshold 256 and
  and libinput>1.10
* set calibration matrix for 270 degree clockwise rotation, see [1]
* remove TOUCHPAD, add TOUCHSCREEN to ensure that device is seen as
  touchscreen only, see [1]#udev_device_type

[1] https://wayland.freedesktop.org/libinput/doc/latest/udev_config.html

@PureTryOut PureTryOut changed the title Device/samsung gts210vewifi Make the touchscreen work on samsung-gts210vewifi May 28, 2018

@ollieparanoid
Copy link
Member

left a comment

Code looks good, it's great that you've figured it out!
Thanks for the PR @k-laus 🎉

@ollieparanoid ollieparanoid merged commit 4deb920 into postmarketOS:master May 28, 2018

2 checks passed

continuous-integration/travis-ci/pr The Travis CI build passed
Details
coverage/coveralls Coverage remained the same at 78.622%
Details
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
You can’t perform that action at this time.