ASUS T100TA touch screen rotation issues

Thanks, @Ocka, have been out of town.

Neither the folder nor the file exists

It's at this point that my narrative separates from the rest. I get the following on the systemctl enable:


journalctl gives:

on the strength of that, I'm rebooting to see if the enable works after it.

Nope.

Please run this & tell me if it says "Active"?
or screenshot the output & paste here.

sudo systemctl status iio-sensor-proxy

Also in the meantime, can i get you to check if your BIOS firmware is up to date.
Most Asus BIOS updates can be run from within the BIOS, normally called EZ Update, or similar.

Currently updating BIOS from v305 to v315. Will get back to you shortly.

bruce@bruce-T100TA:~$ sudo systemctl status iio-sensor-proxy
[sudo] password for bruce:         
● iio-sensor-proxy.service - IIO Sensor Proxy service
     Loaded: loaded (/lib/systemd/system/iio-sensor-proxy.service; static; vendor preset: enabled)
     Active: active (running) since Sun 2023-08-13 13:09:38 AWST; 1min 49s ago
   Main PID: 707 (iio-sensor-prox)
      Tasks: 3 (limit: 2068)
     Memory: 1.3M
     CGroup: /system.slice/iio-sensor-proxy.service
             └─707 /usr/sbin/iio-sensor-proxy

Aug 13 13:09:37 bruce-T100TA systemd[1]: Starting IIO Sensor Proxy service...
Aug 13 13:09:38 bruce-T100TA systemd[1]: Started IIO Sensor Proxy service.
Aug 13 13:09:38 bruce-T100TA iio-sensor-prox[707]: Could not find trigger name associated with /sys/devices/platform/80860F41:04/i2c-4/i2c-INVN6500:00/iio:device1
bruce@bruce-T100TA:~$ 

You might try this Shell Script:

I'll video that interaction but the mouse pointer and the touchpad are 90 degree out of synch with each other. The script is throwing assorted syntax errors as well. Will be in touch

Re @Aravisian 's script I get the following

bruce@bruce-T100TA:~$ ./coord.sh 
unable to find device SIS0457:00 0457:1133
cat: '/sys/bus/iio/devices/iio:device0/in_accel_x_raw': No such file or directory
cat: '/sys/bus/iio/devices/iio:device0/in_accel_y_raw': No such file or directory
cat: '/sys/bus/iio/devices/iio:device0/in_accel_z_raw': No such file or directory
./coord.sh: line 13: [: -le: unary operator expected
./coord.sh: line 17: [: -ge: unary operator expected
./coord.sh: line 22: [: -le: unary operator expected
./coord.sh: line 26: [: -ge: unary operator expected
unable to find device SIS0457:00 0457:1133
cat: '/sys/bus/iio/devices/iio:device0/in_accel_x_raw': No such file or directory
cat: '/sys/bus/iio/devices/iio:device0/in_accel_y_raw': No such file or directory
cat: '/sys/bus/iio/devices/iio:device0/in_accel_z_raw': No such file or directory

And just in case it helps, here's my lshw

bruce-t100ta
    description: Notebook
    product: T100TA (ASUS-TabletSKU)
    vendor: ASUSTeK COMPUTER INC.
    version: 1.0
    serial: DBN0BC120952466
    width: 64 bits
    capabilities: smbios-2.7 dmi-2.7 smp vsyscall32
    configuration: boot=normal chassis=notebook family=T sku=ASUS-TabletSKU uuid=9E2F0600-4002-1721-FFFF-BCEE7B47BF33
  *-core
       description: Motherboard
       product: T100TA
       vendor: ASUSTeK COMPUTER INC.
       physical id: 0
       version: 1.0
       serial: BSN12345678901234567
       slot: MIDDLE
     *-firmware
          description: BIOS
          vendor: American Megatrends Inc.
          physical id: 0
          version: T100TA.314
          date: 08/13/2015
          size: 64KiB
          capacity: 1MiB
          capabilities: pci upgrade shadowing cdboot bootselect socketedrom edd int13floppy1200 int13floppy720 int13floppy2880 int5printscreen int14serial int17printer acpi usb smartbattery biosbootspecification uefi
     *-memory
          description: System Memory
          physical id: b
          slot: System board or motherboard
          size: 2GiB
          capabilities: ecc
          configuration: errordetection=multi-bit-ecc
        *-bank:0
             description: DIMM DDR3 1066 MHz (0.9 ns)
             product: Array1_PartNumber0
             vendor: A1_Manufacturer0
             physical id: 0
             serial: A1_SerNum0
             slot: A1_DIMM0
             size: 1GiB
             width: 8 bits
             clock: 1066MHz (0.9ns)
        *-bank:1
             description: DIMM DDR3 1066 MHz (0.9 ns)
             product: Array1_PartNumber1
             vendor: A1_Manufacturer1
             physical id: 1
             serial: A1_SerNum1
             slot: A1_DIMM1
             size: 1GiB
             width: 8 bits
             clock: 1066MHz (0.9ns)
     *-cache:0
          description: L1 cache
          physical id: 12
          slot: CPU Internal L1
          size: 224KiB
          capacity: 224KiB
          capabilities: internal write-back
          configuration: level=1
     *-cache:1
          description: L2 cache
          physical id: 13
          slot: CPU Internal L2
          size: 2MiB
          capacity: 2MiB
          capabilities: internal write-back unified
          configuration: level=2
     *-cpu
          description: CPU
          product: Intel(R) Atom(TM) CPU  Z3740  @ 1.33GHz
          vendor: Intel Corp.
          physical id: 14
          bus info: cpu@0
          version: Intel(R) Atom(TM) CPU Z3740 @ 1.33GHz
          slot: SOCKET 0
          size: 599MHz
          capacity: 2400MHz
          width: 64 bits
          clock: 133MHz
          capabilities: lm fpu fpu_exception wp vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp x86-64 constant_tsc arch_perfmon pebs bts rep_good nopl xtopology tsc_reliable nonstop_tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm sse4_1 sse4_2 movbe popcnt tsc_deadline_timer aes rdrand lahf_lm 3dnowprefetch epb pti tpr_shadow vnmi flexpriority ept vpid tsc_adjust smep erms dtherm ida arat cpufreq
          configuration: cores=4 enabledcores=4 threads=4
     *-pci
          description: Host bridge
          product: Atom Processor Z36xxx/Z37xxx Series SoC Transaction Register
          vendor: Intel Corporation
          physical id: 100
          bus info: pci@0000:00:00.0
          version: 09
          width: 32 bits
          clock: 33MHz
          configuration: driver=iosf_mbi_pci
          resources: irq:0
        *-display
             description: VGA compatible controller
             product: Atom Processor Z36xxx/Z37xxx Series Graphics & Display
             vendor: Intel Corporation
             physical id: 2
             bus info: pci@0000:00:02.0
             version: 09
             width: 32 bits
             clock: 33MHz
             capabilities: pm msi vga_controller bus_master cap_list rom
             configuration: driver=i915 latency=0
             resources: irq:37 memory:90000000-903fffff memory:80000000-8fffffff ioport:1000(size=8) memory:c0000-dffff
        *-usb
             description: USB controller
             product: Atom Processor Z36xxx/Z37xxx, Celeron N2000 Series USB xHCI
             vendor: Intel Corporation
             physical id: 14
             bus info: pci@0000:00:14.0
             version: 09
             width: 64 bits
             clock: 33MHz
             capabilities: pm msi xhci bus_master cap_list
             configuration: driver=xhci_hcd latency=0
             resources: irq:34 memory:90800000-9080ffff
           *-usbhost:0
                product: xHCI Host Controller
                vendor: Linux 5.15.0-78-generic xhci-hcd
                physical id: 0
                bus info: usb@1
                logical name: usb1
                version: 5.15
                capabilities: usb-2.00
                configuration: driver=hub slots=6 speed=480Mbit/s
              *-usb:0
                   description: Mass storage device
                   product: USB DISK 2.0
                   physical id: 1
                   bus info: usb@1:1
                   version: 1.00
                   serial: 07003A92D1004400
                   capabilities: usb-2.00 scsi
                   configuration: driver=usb-storage maxpower=200mA speed=480Mbit/s
              *-usb:1
                   description: Keyboard
                   product: ASUS Base Station(T100)
                   vendor: ASUSTek COMPUTER INC.
                   physical id: 3
                   bus info: usb@1:3
                   version: 2.35
                   capabilities: usb-2.00
                   configuration: driver=usbhid maxpower=100mA speed=12Mbit/s
              *-usb:2
                   description: USB hub
                   product: ASM107x
                   vendor: Asmedia
                   physical id: 4
                   bus info: usb@1:4
                   version: 1.00
                   capabilities: usb-2.10
                   configuration: driver=hub maxpower=100mA slots=2 speed=480Mbit/s
           *-usbhost:1
                product: xHCI Host Controller
                vendor: Linux 5.15.0-78-generic xhci-hcd
                physical id: 1
                bus info: usb@2
                logical name: usb2
                version: 5.15
                capabilities: usb-3.00
                configuration: driver=hub slots=1 speed=5000Mbit/s
              *-usb
                   description: USB hub
                   product: ASM107x
                   vendor: Asmedia
                   physical id: 1
                   bus info: usb@2:1
                   version: 1.00
                   capabilities: usb-3.00
                   configuration: driver=hub maxpower=8mA slots=2 speed=5000Mbit/s
                 *-usb
                      description: Mass storage device
                      product: T100TAF
                      vendor: ASUS
                      physical id: 2
                      bus info: usb@2:1.2
                      version: 1.00
                      serial: TEA55D4N04MNKW
                      capabilities: usb-3.00 scsi
                      configuration: driver=usb-storage speed=5000Mbit/s
        *-generic
             description: Encryption controller
             product: Atom Processor Z36xxx/Z37xxx Series Trusted Execution Engine
             vendor: Intel Corporation
             physical id: 1a
             bus info: pci@0000:00:1a.0
             version: 09
             width: 32 bits
             clock: 33MHz
             capabilities: pm msi bus_master cap_list
             configuration: driver=mei_txe latency=0
             resources: irq:49 memory:90700000-907fffff memory:90600000-906fffff
        *-isa
             description: ISA bridge
             product: Atom Processor Z36xxx/Z37xxx Series Power Control Unit
             vendor: Intel Corporation
             physical id: 1f
             bus info: pci@0000:00:1f.0
             version: 09
             width: 32 bits
             clock: 33MHz
             capabilities: isa bus_master cap_list
             configuration: driver=lpc_ich latency=0
             resources: irq:0
     *-pnp00:00
          product: PnP device PNP0b00
          physical id: 1
          capabilities: pnp
          configuration: driver=rtc_cmos
     *-pnp00:01
          product: PnP device PNP0c02
          physical id: 2
          capabilities: pnp
          configuration: driver=system
     *-pnp00:02
          product: PnP device PNP0c02
          physical id: 3
          capabilities: pnp
          configuration: driver=system
     *-scsi:0
          physical id: 4
          logical name: scsi1
          capabilities: emulated scsi-host
          configuration: driver=usb-storage
        *-disk
             description: SCSI Disk
             product: 545050A7E680
             vendor: HGST HTS
             physical id: 0.0.0
             bus info: scsi@1:0.0.0
             logical name: /dev/sda
             version: 0
             serial: WKNM40N4D55AET
             size: 465GiB (500GB)
             capabilities: gpt-1.00 partitioned partitioned:gpt
             configuration: ansiversion=6 guid=660dea1b-9172-4fd4-bcfd-8d58c232fef5 logicalsectorsize=512 sectorsize=4096
           *-volume
                description: Windows NTFS volume
                vendor: Windows
                physical id: 1
                bus info: scsi@1:0.0.0,1
                logical name: /dev/sda1
                version: 3.1
                serial: 380aeee5-5a22-3d4b-a072-eb01f050135c
                size: 465GiB
                capacity: 465GiB
                capabilities: ntfs initialized
                configuration: clustersize=4096 created=2013-11-30 17:52:16 filesystem=ntfs label=Data1 name=Basic data partition state=clean
     *-scsi:1
          physical id: 5
          logical name: scsi0
          capabilities: emulated scsi-host
          configuration: driver=usb-storage
        *-disk
             description: SCSI Disk
             product: USB DISK 2.0
             physical id: 0.0.0
             bus info: scsi@0:0.0.0
             logical name: /dev/sdb
             version: PMAP
             serial: 0474000030A0
             size: 7203MiB (7553MB)
             capabilities: gpt-1.00 partitioned partitioned:gpt
             configuration: ansiversion=4 guid=97d6bd0f-8c23-4e60-bf04-b9eccc7c22de logicalsectorsize=512 sectorsize=512
           *-volume
                description: Windows NTFS volume
                vendor: Windows
                physical id: 1
                bus info: scsi@0:0.0.0,1
                logical name: /dev/sdb1
                version: 3.1
                serial: 585f-57a2
                size: 7200MiB
                capacity: 7201MiB
                capabilities: boot precious nomount ntfs initialized
                configuration: clustersize=4096 created=2013-11-30 18:03:03 filesystem=ntfs label=Restore name=Basic data partition state=clean
  *-network
       description: Wireless interface
       physical id: 1
       logical name: wlan0
       serial: bc:ee:7b:47:bf:33
       capabilities: ethernet physical wireless
       configuration: broadcast=yes driver=brcmfmac driverversion=6.10.197.71 firmware=01-882d2634 ip=192.168.1.56 multicast=yes wireless=IEEE 802.11

Well, it is not mine, it belongs to that github user.
If it is not working for you, let's discard that attempt.

oops. sorry. but yeah, let's move on.

next of many things that could help.
1st are you running dual boot or just Zorin OS?

I'll assume it's just Zorin OS.
Double check the screen resolution settings,(see if your on recommended, or is it giving you a lower setting)?
If not try setting to higher resolution (to suit screen).


  • Next open your "Startup" app,
    Does this contain "xinput-calibration"?
    If not try installing xinput calibration

sudo apt update
sudo apt install xinput-calibrator

If you have the calibrator installed already,
run

xinput_calibrator

Follow the instructions.


Still no luck...
as i see your ok with scripts,

1st, Identify Touchscreen Device:

xinput list

Look for the entry corresponding to your touchscreen device. Note down its ID Number. (eg, 11)

Adjust Transformation Matrix,
Now, you'll need to adjust the transformation matrix for your touchscreen. Run the following command, replacing (ID) with the actual ID of your touchscreen device:
eg:

xinput set-prop 11 'Coordinate Transformation Matrix' (matrix-values)

For example, for a 90-degree rotation clockwise, you might use:

xinput set-prop (ID) 'Coordinate Transformation Matrix' 0 1 0 -1 0 1 0 0 1

You might need to try different values until you get the desired touchscreen response. (refer to links)

Make The Configuration Persistent,
Create a startup script that sets the transformation matrix. Here's an example of how to do it:

  1. Create a script file, for example

rotate_touchscreen.sh

and add the xinput command from above to set the transformation matrix.
2. Make the script executable by running:

chmod +x rotate_touchscreen.sh

  1. Open the "Startup Applications" app in Zorin OS.
  2. Add a new startup entry with the path to your script.

Please note that these instructions are provided as a general guideline and might need adjustments based on your specific hardware and software configuration. Always back up your data and configuration before making significant changes.

I'm out of time until tomorrow, Hope this is as clear as can be.
https://wiki.ubuntu.com/X/InputCoordinateTransformation
& a couple of other examples.

Alternatively:
You could try Zorin OS Core. I see some saying Gnome works a little better with rotation/orientation.

2 Likes
bruce@bruce-T100TA:~$ xinput_calibrator
Calibrating standard Xorg driver "ATML1000:00 03EB:8C0D"
	current calibration values: min_x=0, max_x=65535 and min_y=0, max_y=65535
	If these values are estimated wrong, either supply it manually with the --precalib option, or run the 'get_precalib.sh' script to automatically get it (through HAL).
	--> Making the calibration permanent <--
  copy the snippet below into '/etc/X11/xorg.conf.d/99-calibration.conf' (/usr/share/X11/xorg.conf.d/ in some distro's)
Section "InputClass"
	Identifier	"calibration"
	MatchProduct	"ATML1000:00 03EB:8C0D"
	Option	"MinX"	"-255"
	Option	"MaxX"	"64449"
	Option	"MinY"	"1131"
	Option	"MaxY"	"66154"
	Option	"SwapXY"	"0" # unless it was already set to 1
	Option	"InvertX"	"0"  # unless it was already set
	Option	"InvertY"	"0"  # unless it was already set
EndSection

That's for landscape. Are saying create one for portrait?

Okay, I think we have a fix. Thanks for all the help everyone, esp. @Ocka . Touch and mousepad behaving nicely now.

straighty.sh

#! /usr/bin/env bash
xrandr -o normal
xinput set-prop 17 'Coordinate Transformation Matrix' 1 0 0 0 1 0 0 0 1
xinput set-prop 11 'Coordinate Transformation Matrix' 1 0 0 0 1 0 0 0 1

lefty.sh

#! /usr/bin/env bash
xrandr -o left
xinput set-prop 17 'Coordinate Transformation Matrix' 0 -1 1 1 0 0 0 0 1
xinput set-prop 11 'Coordinate Transformation Matrix' 0 -1 1 1 0 0 0 0 1

righty.sh

#! /usr/bin/env bash
xrandr -o right
xinput set-prop 17 'Coordinate Transformation Matrix' 0 1 0 -1 0 1 0 0 1
xinput set-prop 11 'Coordinate Transformation Matrix' 0 1 0 -1 0 1 0 0 1
1 Like

Can you please click on the " :ballot_box_with_check: Solution" tick box under the appropriate post, to notify others of the solution. Thanks.

@bruceax ,
Glad to hear you have solved the issue, Good work :+1:

Not entirely fixed. There was the issue of id numbers changing between reboots, which I've addressed via

TOUCHPAD=`xinput list | grep "TouchPad" | grep -o -E -e 'id=[0-9]+' | cut -d = -f 2`
SCREEN=`xinput list | grep "ATML1000" | grep -o -E -e 'id=[0-9]+' | cut -d = -f 2`

Then in the scripts I've put ${TOUCHPAD} for the 11 etc.

I've removed the "solved" mark. I have put the following script into the startup items. After reboot the touch is out of sync with the mouse pointer.

straight_left.sh

 #! /usr/bin/env bash
xrandr -o normal
TOUCHPAD=`xinput list | grep "TouchPad" | grep -o -E -e 'id=[0-9]+' | cut -d = -f 2`
SCREEN=`xinput list | grep "ATML1000" | grep -o -E -e 'id=[0-9]+' | cut -d = -f 2`
xinput set-prop ${SCREEN} 'Coordinate Transformation Matrix' 1 0 0 0 1 0 0 0 1
xinput set-prop ${TOUCHPAD} 'Coordinate Transformation Matrix' 1 0 0 0 1 0 0 0 1
xrandr -o left
xinput set-prop ${SCREEN} 'Coordinate Transformation Matrix' 0 -1 1 1 0 0 0 0 1
xinput set-prop ${TOUCHPAD} 'Coordinate Transformation Matrix' 0 -1 1 1 0 0 0 0 1

How do I establish whether the straight_left.sh script has been run?

Fixed at last I think. The issue was the I had used ~ in the path to the bash script in the startup items instead of the full path. Once that was done the straight_left.sh script worked.

3 Likes

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.