私は左利きなのですが、以前からZaurusのスクロールバーが左側にあったらなと思っていました。
また、下記サイトに左利き対応の話が記載されていて興味はあったのですが、なんだかんだで個人的には標準のQtopia環境が使いやすいのと、QtoiaやQt/Eをコンパイルし直して入れ替える作業がおっくうだったため、何もしないでいました。
Linuxザウルス開発メモ/Qtopia - Walrus, Visit.
http://digit.que.ne.jp/visit/index.cgi?Linux%a5%b6%a5%a6%a5%eb%a5%b9%b3%ab%c8%af%a5%e1%a5%e2%2fQtopia#i12
しかし、Zten改を改造させていただく中で、LinuxにはLD_PRELOADという環境変数を指定することでライブラリ内の関数をフックできることを知りました。
そして最近、このフックを使用すれば、一部分だけlibqte.soを乗っ取ってスクロールバーを左側に変えたクラスと入れ替えられないかと思うようになり、試してみました。
結果は、以下の通りです。
左スクロールバー - ztev改
(2010/03/12追記:よく見るとヘルプボタンがない…。通常起動では問題なさそう。)
左スクロールバー - zeditor
左スクロールバー - launcher
結果的に、Qt/Eの2.3.10のソースを基に、QScrollViewとQTableViewのクラスを書き換えました。
そして、その二つだけでライブラリを作成し、LD_PRELOADで指定してからアプリを起動すると上記のようにすることができました。
具体的には、libqtehook.soというライブラリを作成して、以下のようなコマンドを打ちました。
QScrollViewは2.3.10で既に対応されているためグローバル変数の初期値を変えるだけで済むかと思っていたのですが、そうではなく結局二つともそれなりにいじりました。
今思えば、Qt/E2.3.2のソースを、上記ソースを参考に改造した方が早かったかもしれません。
また、スタイル等を変更すると位置とかずれるかも。
あと、対応できないアプリもあります。
純正アプリは、ほとんどだめです。
ただ、ネットを検索すると先陣の方はおられたようですが、結果どうなったのかはわかりません。
とりあえず、詳しく書いていませんが(書く気力がないというか・・・)、こんな方法でできたということで参考になればということで。
また、下記サイトに左利き対応の話が記載されていて興味はあったのですが、なんだかんだで個人的には標準のQtopia環境が使いやすいのと、QtoiaやQt/Eをコンパイルし直して入れ替える作業がおっくうだったため、何もしないでいました。
Linuxザウルス開発メモ/Qtopia - Walrus, Visit.
http://digit.que.ne.jp/visit/index.cgi?Linux%a5%b6%a5%a6%a5%eb%a5%b9%b3%ab%c8%af%a5%e1%a5%e2%2fQtopia#i12
しかし、Zten改を改造させていただく中で、LinuxにはLD_PRELOADという環境変数を指定することでライブラリ内の関数をフックできることを知りました。
そして最近、このフックを使用すれば、一部分だけlibqte.soを乗っ取ってスクロールバーを左側に変えたクラスと入れ替えられないかと思うようになり、試してみました。
結果は、以下の通りです。
左スクロールバー - ztev改
(2010/03/12追記:よく見るとヘルプボタンがない…。通常起動では問題なさそう。)
左スクロールバー - zeditor
左スクロールバー - launcher
結果的に、Qt/Eの2.3.10のソースを基に、QScrollViewとQTableViewのクラスを書き換えました。
そして、その二つだけでライブラリを作成し、LD_PRELOADで指定してからアプリを起動すると上記のようにすることができました。
具体的には、libqtehook.soというライブラリを作成して、以下のようなコマンドを打ちました。
$ LD_PRELOAD=/usr/local/lib/libqtehook.so /home/QtPalmtop/bin/ztenv最終的には、シェルスクリプトを噛ましましたが。
QScrollViewは2.3.10で既に対応されているためグローバル変数の初期値を変えるだけで済むかと思っていたのですが、そうではなく結局二つともそれなりにいじりました。
今思えば、Qt/E2.3.2のソースを、上記ソースを参考に改造した方が早かったかもしれません。
また、スタイル等を変更すると位置とかずれるかも。
あと、対応できないアプリもあります。
純正アプリは、ほとんどだめです。
ただ、ネットを検索すると先陣の方はおられたようですが、結果どうなったのかはわかりません。
とりあえず、詳しく書いていませんが(書く気力がないというか・・・)、こんな方法でできたということで参考になればということで。
※コメント投稿者のブログIDはブログ作成者のみに通知されます