GUIウィジェットは、タッチパッドイベントの意味論的方向と絶対方向をどのように区別しますか?

GUIウィジェットは、タッチパッドイベントの意味論的方向と絶対方向をどのように区別しますか?

私は最近、精密スクロールをサポートするタッチパッドを使用してUbuntu 20.10とWaylandのGnomeデスクトップを試しました。マウスホイールをシミュレートしません。

起動後自然なスクロールタッチパッドを使用すると、指で作成したスクロール動作が画面上でスクロール可能なすべてのコンテンツの動きに自然にマッピングされます(指を上に動かすとコンテンツが上に移動します)。これは、指を上に動かすと親指が上に移動しますが、コンテンツは下に移動する「スクロール親指」(ハンドル)の動きに物理的なジェスチャーをマッピングするのとは対照的です。

しかし、GUI要素の上にマウスを置くと明らかにマッピングシステムの音量スライダのような物理的な動きから視覚的な動きまで、ジェスチャとウィジェットの動きの間のマッピングは驚くほど壊れていました。つまり、上に動かすとスライダーハンドルが下に調整されます(スライダーが水平であることは無視してください。垂直であれば、間違いなく下に移動します)。明らかに、ウィジェットは移動方向を決定するために誤った抽象化を使用しています。

クイックアウトライン(正確なスクロール)

この記事では、最新のタッチパッドの正確なスクロールイベントに焦点を当てました。これは、これが最も現代的なスクロールAPIであるという印象を受けたからです。

  • 自然なスクロール
    • 体の動き:下に
      • スクロール可能なコンテンツの移動:下に(マッチ)
      • スライダーの移動:戻る(不一致)
  • 「一般」スクロール
    • 体の動き:下に
      • スクロールバー「親指」の動き:下に(マッチ)
      • スライダーの移動:下に(マッチ)

前述のように、スライダーの動きとジェスチャーの動きの間には明確なマッピングがありますが、まだ間違った操作を実行する可能性があります。 (2つの可動部分(コンテンツとスクロールバーのサム)を持つスクロール可能ビューとは異なり、スライダーには1つの可動部分があるため、これは明らかです。

私に説明しますか?どのようにこのようなウィジェットが現在のように誤った抽象化を使用するのではなく、正しい動作方向を決定できますか?運動の絶対方向を取得する方法は?なぜもうそんなことをしていませんか?

この場合、開発者として尋ねるのではなく、インタラクションデザインとこの問題に興味がある人として尋ねることです。スクロールバーを含まないすべてのウィジェットではあいまいさがないため、絶対移動方向を使用するのは簡単なようです。私は現在、さまざまなLinuxデスクトップ環境で複雑なイベントを処理することに精通していません。

ベストアンサー1

おすすめ記事