5

24 インチのタッチスクリーンを備えた Ubuntu マシンを使用していますが、問題なく動作しています。マウスを動かしたり、複数のタッチ ポイントでジェスチャを実行したりできるため、ハードウェアは問題なく動作しています。イベントは、マウスダウン、マウスドラッグなどではなく、タッチとして発生します。 --enable-touch-events スイッチが成功しない これは ms Windows バージョンでのみ実装されているようです。

~$ xinput -version
xinput version 1.6.0
XI version on server: 2.2

~$ xinput
⎡ Virtual core pointer                      id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ Advanced Silicon S.A CoolTouch(TM) System id=9    [slave  pointer  (2)]
⎜   ↳ USBest Technology SiS HID Touch Controller    id=10   [slave  pointer  (2)]
⎜   ↳ Logitech USB Optical Mouse                id=11   [slave  pointer  (2)]
⎜   ↳ MCE IR Keyboard/Mouse (nuvoton-cir)       id=14   [slave  pointer  (2)]
⎣ Virtual core keyboard                     id=3    [master keyboard (2)]
    ↳ Virtual core XTEST keyboard               id=5    [slave  keyboard (3)]
    ↳ Power Button                              id=6    [slave  keyboard (3)]
    ↳ Video Bus                                 id=7    [slave  keyboard (3)]
    ↳ Power Button                              id=8    [slave  keyboard (3)]
    ↳ CHICONY HP Basic USB Keyboard             id=12   [slave  keyboard (3)]
    ↳ Nuvoton w836x7hg Infrared Remote Transceiver  id=13   [slave  keyboard (3)]

touch-UI フラグを使用したビルドについて読んだことがありますが、それが役立つかどうかはわかりませんか?

4

2 に答える 2

2

Chrome は、GTK を使用してビルドされたとき、Linux でタッチ スクリーンをサポートしていませんでした。Chrome 35 以降、Linux は GTK を使用しなくなりましたが、Windows と ChromeOS で使用されているのと同じ UI フレームワーク (「Aura」) に基づいて構築されています。これは、タッチスクリーンを適切にサポートする必要があることを意味します (ただし、特に複数のモニターを使用している場合は、Ubuntu でタッチスクリーンのバグがよく見られます)。

于 2014-07-24T13:55:11.850 に答える
1

質問に対する適切な回答については、 http://www.html5rocks.com/en/mobile/touchandmouse/を参照 してください。

あなたは言う

--enable-touch-events スイッチを有効にしてみました

そのコマンドライン スイッチで chrome を起動しましたか?

おそらく、次のことを参照していますが、実際のタッチイベントを受け取りたいので、これはあなたの場合に使用するのに間違ったことではありません.

https://developers.google.com/chrome-developer-tools/docs/mobile-emulation#emulate-touch-events

興味のあるイベント タイプ用の小さなイベント ハンドラーをインストールして、JavaScript コンソールで実験してみてください (以下を参照)。

["click", "mousemove", "touchmove"].forEach(function(value, index, object) {
    document.addEventListener(value, function(event) {
        console.log(JSON.stringify([event.type,
            event.srcElement.localName + (event.srcElement.id ? '#'
            + event.srcElement.id : "")
            + (event.srcElement.classList.length ? '[class='
            + event.srcElement.classList + ']' : ""),
            (new Date(event.timeStamp)).toJSON()]));
    }, false);
});

これは役に立ちますか?

于 2013-05-03T13:40:16.177 に答える