« 2017年1月 | トップページ | 2017年3月 »

2017年2月

2017年2月27日 (月)

Ver.1.6.5 リリース

これまで(Ver.1.6.4まで)のすべてのバージョンに含まれる、物理キーボードによるリモート操作に関する
不具合を修正しました。

(*) すべてのバージョンで発生する不具合ですのでお手数ですがVer1.6.5への更新をお願い致します。

以下からダウンロードできます。(Windows/Linux/Mac版)

https://github.com/funfun-dc5/qtbrynhildr/releases

主な変更は以下です。

[新規機能]
・デスクトップのスケールを固定する機能の追加
・ウィンドウサイズを固定する機能の追加

[不具合修正]
・キー制御送信アルゴリズムの不具合修正(Ver.1.6.4以前のすべての版)
・onKeepOriginalDesktopSize=falseの時でも、マウスによるウィンドウリサイズ時に
デスクトップがスケーリングされてしまう不具合修正

(追記)

Ubuntu 16.10 (x64/x86) で提供されている Qt 5.6.1 を使って作ったものをアップロードしてみました。

巨大な Qt5.8.0 の開発パッケージをダウンロードしてインストールする手間は必要ありません。
(だったら.debにすればいいのに、というツッコミがありそうですが…)

-----------------------------------------------------------------------------------
[SHA256SUM]
-----------------------------------------------------------------------------------
690feb782c4ae9ca779cb06da14d9cac8eede228756c83bf8278072c84a844db *QtBrynhildr-documents-20170226.zip

03a25ad77c46be2aa2a454da6fc160fb6f7184c2750a0300d61845f92622db88 *QtBrynhildr64-windows-v165-msvc.exe

d445d0e29b9ba79bdb9013e1c5af410de733e318687a30607589ad6daa53636c *QtBrynhildr-linux_x64-v165.run

4b893c608c666519c641e6e3e6cc30bfa6081ff4b0dd3e974e568d2a88eac749 *QtBrynhildr-linux_x86-v165.run

20a15590c3ad0510790a687f6955167fcf399f43ddbbe47d311fd747d0f48d54 *QtBrynhildr-windows-v165.exe

3e82af0ac1056df1b05586bf28f776868bda7465c87d0b3ae73c5da12ef6150f *QtBrynhildr-windows-v165-msvc.exe

54d919583dd49bcb8193a774bd41fe8fc325abc7d7c8ded235d0a3275dbd4948 *QtBrynhildr-ubuntu_x64-v165.run

db67d91ae2504f7556edf475e6fd94b1d3c00e94de3987d8e5206784f66f194e *QtBrynhildr-ubuntu_x86-v165.run

2017年2月25日 (土)

Ver.1.6.5-rc1 リリース

初期の頃から存在した大きな不具合が見つかりました。

Shift/Alt/Controlキーを使用するようなキーボード操作をした場合に、不適切なキー制御データ列をサーバーに送信していました。

このため、Shift/Alt/Controlキーを使用するようなキーボード操作をした場合に文字が入力できなかったり、タイムラグが
発生したように見えたりすることがあります。

キーボード操作があからさまに異常になるわけではないので、ちょっとしたキーボード入力テストでは確認できませんでした。

以下からダウンロードできます。(Windows/Linux/Mac版)

https://github.com/funfun-dc5/qtbrynhildr/releases

主な変更は以下です。

[新規機能]
・デスクトップのスケールを固定する機能の追加
・ウィンドウサイズを固定する機能の追加

[不具合修正]
・キー制御送信アルゴリズムの不具合修正(Ver.1.6.4以前のすべての版)
・onKeepOriginalDesktopSize=falseの時でも、マウスによるウィンドウリサイズ時に
デスクトップがスケーリングされてしまう不具合修正

-----------------------------------------------------------------------------------

「SHOW STOPPER!」(邦題「闘うプログラマー」)の一節を思い出しました…、「ドッグフードを食べろ」ってやつです。

今後は Qt Brynhildr を使って開発PCにアクセスし、そこで Qt Brynhildr の開発をするのが、いいんでしょうかね(^_^)

しかし、開発PC上で Qt Brynhidlr を起動すると Qt Brynhildr の中で Qt Brynhildr を起動するというなんかややこしいことになりそうですけど…

-----------------------------------------------------------------------------------
[SHA256SUM]
-----------------------------------------------------------------------------------
35baba9fe064596a95a5ea62c50b6557d8ef0229b6405587381c4257962d43bc *QtBrynhildr-linux_x64-v165-rc1.run

809a04ebf48abec99d7624f2f096f2885659bf6fb3c23de44b033df17fd2f944 *QtBrynhildr-linux_x86-v165-rc1.run

5fa59ec6adf3c815e4247f7eb862542192569d101d705c7526256d1430d34247 *QtBrynhildr-macosx_x64-v165-rc1.dmg

26bd8878cbebb4dacfec6896cc2569284756b67c552f9a8d38ab8aec12485f18 *QtBrynhildr-windows-v165-rc1.exe

2017年2月21日 (火)

Ver.1.6.4 リリース

物理キーボード用の処理を変更、ソースコードの整理を行いました。機能的には1.6.3 と全く同じです。

VS2015 でのビルド (x86/x64) に対応しました。

MinGW 版と MSVC2015(32bit) は同じ設定ファイルを使いますが、MSVC2015(64bit) は" QtBrynhildr 64.ini "を設定ファイルとして使います。

QtBrynhildr-windows-v164.exe : MinGW版(32bit/64bitで動作)

QtBrynhildr-windows-v164-msvc.exe : MSVC2015版(32bit/64bitで動作)

QtBrynhildr64-windows-v164-msvc.exe : MSVC2015版(64bitのみで動作)


以下からダウンロードできます。(Windows/Linux/Mac版)

https://github.com/funfun-dc5/qtbrynhildr/releases

主な変更は以下です。

[その他変更]
・MSVC2015でビルドするための修正
・キーボード・レイアウトの外部ファイル化のための準備用変更
キーボート・タイプ(JP/US)別のソースコードを削除

-----------------------------------------------------------------------------------
[SHA256SUM]
-----------------------------------------------------------------------------------
16145abbb5c69ed3ce6baef3320b04e2ab2e1976ce15c24f11987437ab3e6daa *QtBrynhildr-documents-20170221.zip

bd43abb813dc7093aab64dceb538cd69189311e59b8bc554369865a391d817ce *QtBrynhildr-linux_x64-v164.run

205ccbd0eca91d8c036cc5bb24db72b8a0e1d275a569654f3e0746072d4f332e *QtBrynhildr-linux_x86-v164.run

364b72a729aff58617791214e1f859534fb811777901305563f21bf3fad21642 *QtBrynhildr-macosx_x64-v164.dmg

bfda30e93eed9d12456466b4c793a472d694f542ae31967aac96d0d8eebcbc1f *QtBrynhildr-windows-v164.exe

a54424150ddf298b39d712a22621c04acb4a08dff4d4c66ea5c570d028bac0db *QtBrynhildr-windows-v164-msvc.exe

d9c591f7aa4cde58cb133025b63dac0ea8424f5ff9f4b0b8610125e023de2e00 *QtBrynhildr64-windows-v164-msvc.exe

2017年2月18日 (土)

Android APKの準備 その1

Android用のパッケージであるAPKパッケージは手動で細かく作業して作成することも可能らしいのですが、QtCreator の機能を使って作るのがオススメだよとドキュメントに書かれていましたのでQtCreatorで作業することにします。

QtCreator で「リリース」用にビルドを行うとqtbrynhildr.proのあるディレクトリと同じレベルに

build-qtbrynhildr-armeabi_v7a_Android_GCC_4_9_Qt_5_8_0-Release

というかんじの長い名前のディレクトリが標準では作成されます。この下の android-build というディレクトリの下にAPKパッケージ作成に必要なファイル群が配置されます。

様々な設定を指示するためのXMLファイルやJavaとC++を橋渡しするためのjavaソースファイルのテンプレートなどなどです。これらのファイルはQtCreator がサンプル的に用意してくれるものなので、配布するようなものを作ろうとすると独自の変更が必要になります。

まずはAndroidアプリケーションの重要な設定を記述するAndroidManifest.xml を書き換えたいと思いました。
上記の長ったらしい名前のディレクトリ以下を探すと2箇所にAndroidManifest.xml が存在することが分かりました。これらのどれかを書き換えればO.K.なのでしょうか…

とりあえず、試しに2つとも少しだけ修正してみました。もしかしたら、どちらかのファイルが今後そのまま使われるのかもしれないと思いまして。

QtCreator で再びビルドしてみます。その後上記の2つのファイルを確認してみると、どちらのファイルも、加えた修正がすっかり消えていました。

ということは、これらのファイルは毎回上書きされるので独自の変更を加えてもその修正は結局残らないということなんですね。

では、このファイルはどこで作成されるものなのでしょうか? どこからかコピーされている?


調べてみると QtCreator 自体にいろいろなテンプレート・ファイルを作成してくれる機能がありました。


この機能を使ってAPKパッケージを作る際に使うファイルの準備をすれば良さそうです。

こんな手順で作成しました。

1,QtCreator を起動して、プロジェクトを読み込みます。

2,「プロジェクト」の Build (ビルド設定)を選択します。

3,「Android APK のビルド」-> 「詳細」 を表示させ -> 「Android - テンプレートの作成」を押下します。

4, qtbrynhildr\dist\android を作成場所に指定してテンプレートファイルを作成します。

qtbrynhildr\dist\android 下に

AndroidManifest.xml
build.gradle
res\values\libs.xml

が追加され、同時に qtbrynhildr.pro に以下が追加されました。

---- ここから ----
DISTFILES += \
$$PWD/../dist/android/AndroidManifest.xml \
$$PWD/../dist/android/res/values/libs.xml \
$$PWD/../dist/android/build.gradle

ANDROID_PACKAGE_SOURCE_DIR = $$PWD/../dist/android
---- ここまで ----

これにより、このテンプレートがコピーされてAPK作成時に利用されるようになりました。
よって今後必要な修正はこれらのファイルに対して行えばいいので、これらのファイルを登録してファイル管理すれば良さそうですね。

ただ、上記で用意された AndroidManifest.xml はもっとも基本的なテンプレート・ファイルなのでこれを使って0から書くのも大変そうなので、一度リリースビルドした時にQtCreatorが作ってくれた AndroidManifest.xml をテンプレートとして使ったほうが良さそうです。

他にも独自修正が必要なファイルがあったら、またそこで対応を調べるとして、まずはAndroidManifest.xml を修正していこうと思います。

2017年2月17日 (金)

Windows 64ビット版 Qt Brynhildr パッケージ作成してみる

現在の環境を利用すれば64ビット版のインストーラパッケージが意外に簡単に対応できそうなので作ってみました。

64ビットWindows専用なのでインストーラも64ビットのみの対応とします。

innosetupのissファイルの[Setup]セクションに以下の変更を加えました。

1,32ビット版と区別するためにAppNameとAppVerNameに"x64"を付加しました。

2,64ビット環境向けを指定するためにArchitecturesInstallIn64BitMode と ArchitecturesAllowed を追加しました。

[変更した内容]
AppName=Qt Brynhildr x64
AppVerName=Qt Brynhildr x64 Ver.{#AppVer}

[追加した内容]
; for x64 environment
ArchitecturesInstallIn64BitMode=x64
ArchitecturesAllowed=x64


IObit Uninstaller にはこんな感じに表示されます。

Ws000049

現状だとアンインストール時に設定ファイル"QtBrynhildr.ini"が削除されるので、同時に入れる場合は注意が必要ですね…アンインストール時に削除するか否かを確認するのが良さそうですね…
# とりあえず作った64ビット版パッケージでは削除しないようにしましたけど。

(追記1)

64ビット版はアプリケーション名自体を"Qt Brynhildr 64"に変更しました。これにより別アプリケーションとなるので設定の競合は起こらなくなります。例えば、設定ファイル名は"Qt Brynhildr 64.ini"となります。

(追記2)

MSVC 32ビット版も作ってみましたが、トータルのファイルサイズは21.01MBで MinGW 32ビット版と比べると6.4MB程小さくなりました。ちなみにMSVC 64ビット版のサイズは24.72MBですね。

(追記3)

Ver.1.6.3 を 64ビット化したものを試しに置いてみました。 不具合があるかもしれませんけど…

# 今気づきましたが、実行ファイル名が"QtBrynhildr.exe"のままですね…

以下からダウンロードできます。

https://github.com/funfun-dc5/qtbrynhildr/releases

-----------------------------------------------------------------------------------
[SHA256SUM]
-----------------------------------------------------------------------------------
22b28b26b98d9a64e40b0d8887fee9695e5c48fcb1a268f044d1815a33ccf07b *QtBrynhildr64-windows-v163-msvc.exe

2017年2月15日 (水)

Windows 64ビット版 Qt Brynhildr

Visual Studio 2015でビルド出来るかちょっとだけ試してみようと始めたら、結局最後まで作業してしまいました。

Ws000045

見た目全く変わりませんが、64bit版(MSVC)の Qt Bryhhildr ですヽ(´▽`)/

一応、CELTを含めて、32bit MinGW版と同じスペックですが…分かりませんよねぇ。多分MSVCで32bit版も作れると思うのですが、試してません。

パッケージ作成環境までは作っていませんが、64bit native Windows版の需要があるのでしょうかねぇ…

(追記)

32bit MSVC 版もビルド確認できました。

2017年2月13日 (月)

Ver.1.6.3 リリース

Android用のローカルブランチからソフトウェア・キーボードに関する不具合修正および改善と
物理キーボードのメディア・ボタンに関する不具合修正、その他小変更をマージしました。

以下からダウンロードできます。(Windows/Linux/Mac版)

https://github.com/funfun-dc5/qtbrynhildr/releases


主な変更は以下です。

[不具合修正]
・ソフトウェア・キーボード(新規)のシフトキーの動作不正修正
・デスクトップのキャプチャ機能を無効にしてビルドした場合にサーバ接続後不正終了する不具合修正
・ソフトウェア・キーボード(新規)のバックスラッシュ記号と円記号の表示に関する暫定対処
・物理キーボードのメディア・ボタンの再生停止ボタンの動作不正修正
次トラックボタンになっていた

[その他変更]
・ソフトウェア・キーボード/ボタン(新規)の動作改善
・KeroKeyboardを手本とした新規のソフトウェア・キーボード/ボタンへ移行
旧ソフトウェア・キーボード/ボタン関連のファイルを削除
・Android/iOSサポート準備用の小変更
・キーボード・レイアウトの外部ファイル化のための準備用変更

-----------------------------------------------------------------------------------
[SHA256SUM]
-----------------------------------------------------------------------------------
87864336db8cd2fb97ebc762d1e2b4e499133162c3b75ae398fadd0377f58f8e *QtBrynhildr-documents-20170213.zip

b291ede33fcb661658fefecc268da35ba894eca171277ee4c64449efa7bda92a *QtBrynhildr-linux_x64-v163.run

aa1aec5e693965a46bd13187038e1e569e1d9c4985fb13c37c0c464bca50e289 *QtBrynhildr-linux_x86-v163.run

cd8900cc298bd05678eba29245ba2ec022c4628be8bfb81b45723bf7014251dd *QtBrynhildr-macosx_x64-v163.dmg

b7de3749d505d8a4736623b1270b1cd545b2e6f6636beda41ac18286d09e0f59 *QtBrynhildr-windows-v163.exe

2017年2月12日 (日)

KeroKeyboard with Qt のその後

日本語Windowsだと標準ではバックスラッシュが円記号('¥')として表示されるのですが、Ubuntu/Macだとバックスラッシュ('\')で表示されるという問題がありましたが、暫定対処として以下のようにしました。

1, キートップを表示する際のフォントファミリーを"Courier"に固定。これにより通常はバックスラッシュが表示される。

2, 円記号が必要な時は全角の円記号('¥')を指定する。

こんなんでいいんでしょうかね…
今のところWindows/Ubuntu/Mac上で英語、日本語に限定すれば問題なさそうですけど、他の場合は発覚したらその時考えます(*^-^)

Ws000044


ちょっと興味があったので、KeroKeyboardの記事のコメントにあったテン・キーのレイアウトのモックアップを作ってみましたが、通常のキーボードからどうやって切り替えるのがいいんでしょうかね…。

Ws000043

Fnキー押下時に、重複するキーがありましたね…今気が付きました。

2017年2月 8日 (水)

Android対応ローカルブランチをつくりました

1.6.2で追加した新規ソフトウェア・キーボード/ボタンがダメダメだったので追加修正を行い、なんとなく動いたので Android 対応用のローカルブランチを作りました。

いつもは地味に(?)端末上で開発しているのですが、Android/iOS はいろいろと面倒なので Qt Creator 上でデバッグしています。ソースコードの修正だけは Emacs ですけど…

早速 Nexus 7 を PC に接続して Qt Creator を起動後デバッグ実行してみました。

「サーバに接続」ダイアログが順調に表示されたので、パスワードを入れて接続します。すると…

「 Segmentation Fault 」

とアプリケーション出力に表示されバッサリ落ちます。

Ws000041

最初 Qt5.8.0 が不安定なのか?と思ったのですが、止まっているコード箇所をみると私の書いたコード上で止まっています。1785行目の desktopCaptue_Action にマウスカーソルを合わせて値を調べると"0x0"でした(^-^;

上記のウィンドウ画像をクリックしてじっくり観察するとなんとなくおかしいところに気づく方がいるかもしれません。

実は現在 Android/iOS ではデスクトップキャプチャ機能を無効にしています。ですので desktopCapture_Action が "0x0" なのは正しいのです…つまり、この行が実行されること自体がおかしいのですよね…

原因はコピペです( ̄Д ̄;;

早速おかしな部分を修正して、再度実行しました。

Nexus 7 でフルスクリーンにしてスクリーンキャプチャしたのが以下です。

Screenshot_20170208094811

フルスクリーンにするとソフトウェア・キーボードがやや歪なのは Nexus 7 の画面縦横比が原因でしょうかね。
キーがやや押しにくいです…

タッチスクリーンでの使い勝手を検証しつつ、改善してみようと思います。


ちなみにWindows上でソフトウェア・キーボードをフローティング状態にするとこんな感じです。

Ws000040

« 2017年1月 | トップページ | 2017年3月 »