Chrome + Touchscreen + Unity (14.04)


23

ฉันมี Dell 14R พร้อมหน้าจอสัมผัสพร้อม Ubuntu 14.04 เมื่อฉันเริ่ม Google Chrome โดยคลิกที่ตัวเรียกใช้งานด้วยทัชแพดหรือชุดค่าผสม Super + การสนับสนุนการแตะใน Chrome จะไม่ทำงาน เมื่อฉันสัมผัสองค์ประกอบบางอย่างมันจะได้รับโฟกัสเท่านั้น แต่ไม่ได้เปิดใช้งานองค์ประกอบ (ปุ่มฟิลด์ ฯลฯ ) และท่าทางสัมผัสไม่ทำงาน ในทางกลับกันถ้าฉันเริ่ม Chrome ด้วยการแตะปุ่มตัวเรียกใช้งาน scroll touch ใน Chrome แม้การปัดไปทางซ้ายจะกลับไปยังหน้าก่อนหน้านี้ ฯลฯ มันไม่สมเหตุสมผลเลยสำหรับฉัน ข้ามเรียบ ทุกคนสามารถยืนยันสิ่งนี้ได้? ความคิดเกี่ยวกับวิธีการแก้ไขใด ๆ


ฉันเชื่อว่า Chromium เวอร์ชัน repo มีการรองรับหน้าจอสัมผัสบางอย่าง ลองใช้มันแทน
saiarcot895

Chrome มีเหมือนกัน แต่ในกรณีของฉันจะใช้งานได้ก็ต่อเมื่อฉันเริ่มใช้งานโดยแตะตัวปล่อยความสามัคคี ...
Luis Fernando P. Gonzalez

โอ้ฉันไม่ดี ฉันเข้าใจผิดคำถาม
saiarcot895

คำตอบ:


23

ปัญหานั้นสามารถแก้ไขได้สำหรับฉันด้วย--touch-devicesพารามิเตอร์บรรทัดคำสั่งของ Chrome

กำหนด ID อุปกรณ์อินพุตของ X ในคอนโซลโดย

xinput list

นำไปสู่

google-chrome --touch-devices=10

ในระบบของฉัน

ในการทำให้ Chrome ใช้การตั้งค่าสถานะ CLI นี้ทุกครั้งโปรดดูที่: วิธีตั้งค่าสถานะ CLI สำหรับ Google Chrome


1
อเล็กซ์คุณจะช่วยอธิบายวิธีแก้ปัญหาของคุณให้ละเอียดยิ่งขึ้นได้ไหม ฉันต้องการที่จะลอง แต่ฉันหลงทางเล็กน้อยกับสิ่งที่คุณหมายถึง ฉันจะใช้บรรทัดคำสั่งของ chrome ได้อย่างไร

3
@ user298727 เปิดคอนโซลและเรียกใช้xinput listก่อน คำตอบของคำสั่งจะให้ ID อุปกรณ์ของหน้าจอสัมผัส เริ่ม Google Chrome โดยการเข้าสู่google-chrome --touch-devices=10คอนโซลเดียวกัน คอนโซลเป็นเพียงสภาพแวดล้อมบรรทัดคำสั่งที่คุณเรียกใช้ Chrome ตามลิงค์ว่าวิธีการเปิดคอนโซล โปรดทราบว่าคุณต้องเริ่ม "terminal" หรือ "gnome-terminal" ขึ้นอยู่กับระบบปฏิบัติการของคุณ
alex

1
ขออภัยฉันเพิ่งเห็นคำตอบของคุณ ทำงานอย่างสมบูรณ์แบบ
Luis Fernando P. Gonzalez

คุณจะทำให้ Chrome ทำงานด้วยตัวเลือกนั้นได้ทุกครั้งอย่างไร
NullVoxPopuli

มีสิ่งนี้ แต่ไม่อนุญาต: askubuntu.com/questions/78638/ …
NullVoxPopuli

7

คำตอบที่ปรับปรุงแล้ว:

  1. แก้ไข~/.profileและเพิ่มสิ่งต่อไปนี้ในตอนท้ายของไฟล์:

    export CHROMIUM_USER_FLAGS="--touch-devices=`echo $(xinput list | grep 'Virtual core pointer' | awk 'match(\$0, /id=/){print substr($0, RSTART+3, RLENGTH-1)}')` --touch-events=enabled --enable-pinch"
    
  2. ออกจากระบบแล้วลงชื่อเข้าใช้อีกครั้ง

  3. เริ่ม Google Chrome ตามปกติ

เคล็ดลับ : คุณอาจต้องเปลี่ยนสตริง "Virtual core pointer" ในคำสั่งด้านบนเป็นชื่อของอุปกรณ์ป้อนข้อมูลหน้าจอสัมผัส "ตัวชี้หลัก" ของคุณในคำสั่งด้านบน เพียงใช้xinputคำสั่งเพื่อค้นหาชื่ออุปกรณ์ของคุณ

หมายเหตุ : ฉันใช้ Ubuntu 15.04 อยู่/usr/bin/google-chrome-stable

คำตอบเก่า:

ฉันมี Ubuntu 14.14 สิ่งนี้ใช้ได้กับฉัน:

  1. ทำให้เชลล์สคริปต์เพื่อเริ่มต้นเบราว์เซอร์ Google Chrome start-chrome.shที่เรียกว่า

    ฉันใส่ของฉันใน: /usr/local/bin/start-chrome.sh

    เพิ่มสิ่งต่อไปนี้ในไฟล์:

    #!/bin/bash
    /usr/bin/google-chrome-stable --touch-devices=$(xinput list | grep Touchscreen | awk 'match(\$0, /id=/){print substr($0, RSTART+3, RLENGTH)}') --touch-events=enabled --enable-pinch
    

    โดยทั่วไปฉันใช้xinput listคำสั่งและ greping สำหรับ "Touchscreen" และค้นหา id ที่สอดคล้องกัน คุณอาจต้องเปลี่ยน "Touchscreen" เป็นชื่อของอุปกรณ์อินพุตหน้าจอสัมผัสของคุณในคำสั่งด้านบน

  2. /usr/share/applications/google-chrome.desktopแก้ไข ค้นหาสิ่งที่เกิดขึ้นทั้งหมดExec=google-chrome-stableและแทนที่ด้วยExec=start-chrome.sh

หมายเหตุ : ฉันเชื่อว่าวิธีนี้จะใช้งานได้จนกว่าคุณจะอัปเดต Google Chrome (ผ่านapt-get upgrade) และgoogle-chrome.desktopไฟล์ถูกเขียนทับ คุณจะต้องทำตามขั้นตอนที่ 2 ด้านบนเพื่อแก้ไข


การแก้ไขที่อัปเดตทำงานได้อย่างดีเยี่ยม! ขอขอบคุณ.
ChosSimbaOne

โซลูชันของคุณฉลาดกว่าระบบอื่น ๆ แต่เมื่อวันที่ 16.04 กับ chome 50 ใหม่ล่าสุด (โครเมียม 49) มันไม่ทำงานบนฝั่งของฉัน การเลื่อนด้วยสองนิ้วใช้นิ้วเดียวฉันเลือกข้อความเสมอ ความคิดใด ๆ ที่สามารถผิดพลาดได้อีกหรือฉันสามารถทดสอบอะไรได้บ้าง
user157697

6

คุณสามารถลองเปิดใช้งานกิจกรรมการสัมผัสภายใต้การตั้งค่าสถานะ Chrome:

  1. นำทางไปยังchrome://flags/#touch-eventsและตั้งเป็นเปิดใช้งาน
  2. รีสตาร์ท Chrome

ที่มา:

https://github.com/EightMedia/hammer.js/wiki/How-to-fix-Chrome-35--and-IE10--scrolling-(touch-action)


1
ฉันลองใช้วิธีนี้ก่อนหน้านี้ แต่ไม่ได้ช่วยใน Ubuntu
alex

1
ขอบคุณมาก! ทำงานร่วมกับ Ubuntu 14.04 และ Dell XPS 12 ได้ทันที!
Julian Pieles
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.