変更されたVNCビューアアプレット(VNC =リモート表示プロトコル)のラッパーを実装して、(javascriptを使用して)ユーザーエクスペリエンスを向上させようとしていますが、回転の処理で問題が発生しました。
アプレットの幅/高さは固定されています(1)-したがって、ユーザーがデバイスを回転させると、アプレットは画面をオーバーローするか、サイズが変更されます。
+------------+ +-------+ +-------+
|............| |.......|... |.......|
|. X.| |. | X. or |. x.|
|. .| > |. | . |.......|
|............| |.......|... | |
+------------+ | | | |
| | | |
+-------+ :( +-------+ :(
でも私はしたい....
+------------+ +-------+
|............| |.......|
|. X.| |. .|
|. .| > |. .|
|............| |. .|
+------------+ |. X.|
|.......|
+-------+ :)
javascriptの画面寸法の変化から自動回転を検出できますが、Javaで記述されている場合は自動回転を抑制できますが、どちらも目的の結果を達成していません。具体的には、
- デバイスを回転させても、ディスプレイの向きは変わりません。
- 私のJavaScriptは、デバイスが回転したことを検出し、アプレットのコンテンツの方向を変更します(OVCメッセージを送信してvncserverでxrandrを実行します)。
私は、JavaScriptに公開された個別のアプレットとして回転の検出を実装すること、またはWebビューを介してページを実装することを完全に嫌うわけではありませんが、そうしたくないと思います。
HTMLアプリのマニフェストファイルで向きをロックすることは可能ですか?
向きがロックされているときにjavascriptを使用して回転を検出することは可能ですか?
これを解決する別の方法はありますか?
1-これは基礎となるプロトコルの制限です。私はすでにJavaアプレットに変更を加えています。サーバーを書き直す必要はありません!
アップデート
ほとんどのバージョンのVNC(noVNCを含む)にxrandrの問題があることを認識しています。
誰かがブラウザページの自動再方向付けを(Webビューでアプレットを使用せずに)抑制する方法を教えてくれれば、少なくとも答えの一部が得られます。