マウスに加えてタッチスクリーンの呪いはありますか?

マウスに加えてタッチスクリーンの呪いはありますか?

ncursesはタッチスクリーンコンピュータをサポートしていますか?タッチスクリーンはマウスと同じようにncursesで同じイベントをトリガーしますか?たとえば、ncursesでタッチスクリーンをクリックすると「マウスクリック」イベントが発生しますか?

私はncursesがマウス入力をサポートしていることを知っているので、タッチスクリーンはマウスのように動作し、ncursesと対話したいと思います。したがって、クリックはマウスクリックと同じで、ドラッグは同じです。

しかし、タッチスクリーンにはスクロールホイールもなく、右ボタンもありません。また、タッチスクリーンにはマウスにない動作がある場合があります。

ベストアンサー1

これncurses プログラミング HOWTO のマウス章役に立つかもしれません。

最初のサブセクションでは、すべてのマウスイベントマスクについて説明します。 x、y、z座標を含むマウス位置レポートがあるため、それらの1つを使用してスクロールホイールをオーバーライドできます。最大4つのボタンに対するイベントがあり、各ボタンに対するダブル、トリプルクリックも可能です。一部のイベントでは、クリックイベントの修飾子として Shift、Control、Alt キーを使用できます。これはncursesマウスAPIを介して取得できるすべての情報です。

しかし、文書が10年を超えました。最新ではないかもしれませんか?

いいえ。 「タッチ」という単語を検索すると/usr/include/ncurses.h複数回検索されますが、そのマニュアルページを相互参照すると、すべての検索に画面の内容を更新する必要があるかどうかの決定が含まれていることがわかります。利用可能なタッチスクリーン関連コンテンツはありません。

〜でも最新バージョン6.1高度なタッチスクリーンサポートは提供されなくなりました。

上記のソースを確認した後も、目的のものが見つからない場合は、探しているものが存在しないと確信できます。

これは私の意見だけですが、マルチタッチとジェスチャーには通常ジェスチャー何かをしなさい。文字ベースのディスプレイはこれらのインターフェースには適していない可能性があるため、特定のタッチスクリーンサポートを追加する努力がなされていない理由です。

しかし、テキストベースのディスプレイのタッチユーザーインターフェースに関する斬新なアイデアがあるようです。デモAPIが実際のタッチスクリーンドライバとより直接的にやり取りできるようにして、アイデアのプロトタイプを作成することもできます。

どのタッチスクリーンUI要素が実際にテキストベースのディスプレイと機能しているかを理解したら(おそらく基本的なユーザビリティ研究プロジェクトを実施する大学生を募集しますか?)、次の質問は次のとおりです。満たすための抽象的なタイプのタッチスクリーンイベントは何ですか?最も役に立つこれを実装するには?

ncurses自体を介してタッチスクリーンイベントを配信するには追加の価値がないことがわかりました。代わりに、表示のためにncursesに接続し、表示のためにタッチスクリーンドライバに接続する別々のタッチUI要素ライブラリを作成することが適切かもしれません。 。一度に1つのプログラミングAPIしか使用できないと誰が言いましたか?

おすすめ記事