2013年9月30日月曜日

Latitude10でポメラdm100をBluetoothキーボードとして使おう

ポメラdm100をLatitude10にBluetooth接続して、キーボードとして利用するときに、一部のキーの入力がキートップの表示とずれている問題があった。なんとなくモヤモヤしていたので、Pythonでキー入れ替えソフトを作ってみました。

pyHookモジュールを利用して、問題のキーなら、本来のキーにすりかえるだけという単純なものです。インターフェースも大き目のボタンひとつ。起動しているのが目立つように、そしてすぐに終了できるように。ポメラをBluetoothキーボードとして利用するときだけ起動して、すぐに終了するような使い方を想定しました。


無事に、viエディタの操作もポメラのキーボードからできるようになりました。ESCの代わりにCtrl+[をよく利用するので、このキーがずれていると困っていたのです。


2013年9月21日土曜日

Latitude10でNoteAnytime

Windows8のストアでNoteAnytimeを購入して試してみました。
使い方が分かっていないためか、気軽にメモをとるような使い方には、向いていない様子。
手書き文字の入力も追随性がいまいち。テキストに変換しないならWindowsJournalで、テキストにするならWindows8の手書き入力が書いていて気持ちがよいです。
NoteAnytimeは、あとから変換というのが売りかと思いますが、それよりも書き心地のほうを選びたいところです。

Graffitっぽいジェスチャー入力キーボードはgKeyに名前をかえてhelpボタンをつけてみました。










2013年9月16日月曜日

Latitude10とVim

Latitude10でもPythonスクリプトを編集するときには、Vimを利用しています。ジェスチャー入力のgPadもそのために、ESCキーのボタンを用意しました。実際に、スクリプトのちょっとした修正をしてみて、とてもよいと思ったのは、スクリーンを指タッチすることでスクロールできたことです。jklmキーをスクリーンキーで入力したり、細いスクロールバーを操作する必要がないので、非常に快適にスクリプトを眺めることができます。もちろん、実際のキーボード操作にはおよびませんが。長いことNetWalkerを使ってきたのでこのような点もすばらしく感じます。

さて、現在のgPadはこんな感じです。TABキーは、コマンドラインでコマンドの補完に利用するのでつけました。記号入力モードに遷移したことが分かるように、現在のモードも表示されるようにしました。ジェスチャーストロークは、一部、自分にとって書きやすいように調整しました。自作のスクリプトなので試しながらストロークデータを変更できるのでよいですね。





2013年9月14日土曜日

Latitude10とDM20のQRコード

久しぶりに、DM20を引っ張りだしてみましたところ、電源が入りません。単純に電池切れかと思って、電池を入れ替えても、入らないので焦りましたが、リセットボタンを押すのを忘れていました。無事に電源が入るようになりましたが、あるキーが勝手に入力されたり、入力されないキーがあったり。そのようなキーを数回たたいていたら、調子が戻ってきた様子です。無事に使えるようになりました。電子機器は、使わないでしまって置くの
は、よいことではないですね。

久しぶりにみると、dm100との画面の違いにびっくりですね。もっと白っぽいと思っていたけど、こんな色だったかなという感じ。落ち着いていて、とても見やすいのですけどね。キーのサイズは、dm100になれてしまうと小さいと感じますが、すぐに感覚は戻ります。その程度です。個人的には、このサイズでも十分です。このコンパクトさも捨てがたいですね。折りたたみ式の後継機としてdm25も発売されて
いますし、ポメラの今後が楽しみです。

ところで、DM20を引っ張りだしてきたのは、Latitude10のQRカメラでDM20のQRコードを読めるかどうかを試すためでした。連結QRコードができるまでテキストを書いてから、テストしてみようと思ったところです。さて、どうでしょうか。

無事に読み込めました。照明の当たり方が非常に重要です。


dm20のほうがdm100に比べてQRコードの変換が速いような気がしますが、気のせいでしょうか?

2013年9月10日火曜日

Latitude10とポメラ(QRコードの読み取り)

ポメラのQRコードによる文章転送機能は、ちょっとした文章を入力して利用したいときに便利です。気楽なのですよね。送りたい文章の一部(もちろん全部でもいい)を選択して、QRコードボタンを押して、あとは読みとればよいだけです。IDEOSも、ほとんど、このQRコードの読み取りに利用しているようなものです。ケーブルの接続もいらない、Bluetooth接続を確立する必要もない、いつも通り
の手慣れた写真を撮るという操作だけで済むというのが気楽です。

Latitude10では、Bluetooth転送で、文章の相互転送ができますが、気軽にQRコードで文章を送りたいと思うわけです。実は、Bluetooth接続で、ポメラの電池残量がどんどん減っていくのが気がかりなのですが。

というわけで、Windows8のアプリでなにかよいQRコードリーダーがないかとストアを覗いたのですが、読みとった文章を利用できるものが見つかりません。Windows用のソフトウェアはどうかと探してみました。Webページなどにある画像のQRコードを読み取るソフトはあるようですが、Webカメラを使って読み込むのは、手頃なものが見つかりません。そこで、自分用にwxPythonで作ってみました。QRコードを読みとる部分は、AndroidでおなじみのZXingを利用します。IDEOSでもポメラの連結QRコードを読み込む実績がありますしね。

ZXing-2.1のzipアーカイブには、コンパイル済みのcore.jar、javase.jar、w.warファイルがあるので、これらを使えば、コマンドラインでZXingを利用できますので、それを呼び出す部分さえ作ればよいわけです。

ZXingをコマンドラインで使うには、前述のファイルを一つのフォルダにコピーして、

java -cp javase.jar;core.jar com.google.zxing.client.j2se.CommandLineRunner target.png

とするとtarget.pngが解析されます。Windowsではクラスライブラリを指定する区切りがセミコロン;ですので注意が必要です。com.google.zxing.client.j2se.CommandLineRunnerが実行するクラスです。

pythonから、このコマンドをsubprocessで呼び出して、QR_CODEとして認識されたときだけ、文字列を得るようにしました。

Webカメラは、VideoCaptureモジュールを使って、画像を取り込みました。
このモジュールをインストールするには、単に対応するバージョンのフォルダをPythonのフォルダに投げ込めばよさそうなのですが、DLLsおよびlibsにばらばらに入ってしまいそうです。そこで、Python27\Lib\site-packagesにVideoCaptureというフォルダを作って、DLLsやLibにあるファイルをコピーしました。さらに、site-packagesにVideoCapture.pthというファイルを作成して、中にVideoCaptureと記述しました。これで、VideoCaptureモジュールが利用できるようになります。VideCaptureは、Python Imaging Libraryが必要なので、こちらもインストールしておく必要があります。

Latitude10で、Device番号0が外側カメラでした。解像度448x252pixelで取得できましたが、640x480は設定できませんでした。実際に試してみると、448x252pixelという解像度でも、ポメラの連結QRコードを読み込んでくれました。これで、Latitude10もまたひとつ便利になりました。







2013年9月5日木曜日

Latitude10でWacomのドライバー

Wacomのドライバーを試してみました。
Enhanced Tablet Driver 7.1.1-16というEnhanced Tablet Driver 7.1.1-12より
新しいものがあったのでスリープ時の LED点灯の不具合いが治ってないかと思い
インストールしてみました。
残念ながら、 LEDの点灯不具合は、治っていませんでした。
しかし、デジタイザペンの挙動が良くなった気がします。
高速起動スイッチを入れて、使用しない時間が長くなるような時は、
シットダウンして様子を見てみようかと思います。
ジェスチャー入力の gPadも、いくぶん動作が快適になったような、、、
こちらは、スクリプトも少しいじってしまっているのでどの程度効果があったのか分かりませんが。

2013/10/13追記 バージョン7.1.2-9でスリープでLEDがちゃんと消えるようになりましたね


2013年9月4日水曜日

Windowsでgraffitiっぽいの

NetWalkerのgraffitiっぽいものをwindows用としてわりきって
キーボードにしてみました。
一応、入力に使えますが、デジタイザペンとの相性はいまいちなところ。
ゆっくり目にストロークを描く必要があります。
ここまで書いてだいぶ慣れてきました。
windows8の手書き入力は、とても快適ですので、そちらを主に利用することでしょう。
入力欄が隠れてしまう時には、このような入力も良いかと思います。

ここまで、gPadで書きましたが、Windows8の手書き入力で続きを書きます。
gPadは、wxPythonで記述しましたが、もう少し速く動作するようにしたいところです。
ストロークの取りこぼしが少し目立ちます。


Latitude10とポメラDM100

Latitude10とポメラDM100との連携を試してみました。

ポメラDM100のファームウェアバージョンはVer.1.2.10.0です。
Latitude10のBIOSバージョンは、A05です。

まずはキーボードとして接続してみました。
普通にBlutoothデバイスを追加する方法で、接続できます。
ただし、Latitude10のキーボード配列は、Wikiを参照してレジストリをいじって
日本語106キーボードにしてありますので、その影響はあるかもしれません。
主なキーの配列は、DM100のキートップに記述してある通りでした。

しかし、以下のキーがずれています。

ポメラのキー <=> Latitude10に入力されるキー
@キー <=> ^キー
[キー <=> @キー
]キー <=> [キー
\キー <=> ]キー
^キー <=> 半角全角キー
Caps Lockキー <=> 半角全角キー
無変換キー <=> Windowsキー

Latitude10のBIOSをA06にアップデートしましたが、とくに違いはありません。
\および|キーの入力できませんので、少し問題ありといえます。


次に、ファイル転送です。
Windows8上で、DM100とBluetooth転送する情報は、なかなか見つかりません。
こちらを参考に、試してみました。

(1) とにもかくにもキーボードとして一度ペアリングしておきます。

(2) コントロールパネル>ハードウェアとサウンド>デバイスとプリンターを開くと、デバイスにキーボードのアイコンでDM100があります

(3) DM100のアイコンを右クリック>プロパティでDM100のプロパティが開きます

(4) DM100のBlutoothのファイル転送を開始して、接続先検索の状態にします。

(5) ここで、DM100プロパティのサービスタブを開くと、ファイル転送のサービスが表示されるので、チェックし、適用、OKします。

(6) デバイスにあるDM100のアイコンを右クリック>コントロールを押す。DM100のコントロールパネルが表示されます。

(7) (時間的に接続失敗がでていると思いますので)DM100のBlutoothのファイル転送を開始して、接続先検索の状態にします。

(8) DM100(切断)と書かれているアイコンをダブルクリックするとDM100のフォルダが開く。このときに、ポメラ側の接続が完了します。

(9) ポメラ側の内部メモリやSDカードが表示されるので、通常のフォルダ操作を行います。

ポメラ側のファイルをLatitude10側にコピーしたり、Latitude10上のファイルをポメラ側に転送できました。

デバイスとプリンターの中にあるDM100のアイコンのショートカットをデスクトップ上に作成し、
それを右クリックすることで、素早くDM100のコントロールパネルを開くことができます。

(5)番目の操作で、サービスを追加するところが大切な点だと思います。

というわけで、Latitude10とポメラdm100の連携は、キーボードに一部問題がありますが、できそうです。

ポメラとdm100のUSBケーブルでの接続は、普通にできそうなので、試していません。
Latitude10は、SDカードが使えるのでdm100用のSDカードを直接差すことも可能ですね。

Windows8のQRコードリーダーアプリは、よいものが見つかりません。