まだプログラマーですが何か?

プログラマーネタ中心。たまに作成したウェブサービス関連の話も https://twitter.com/dotnsf

IBM Bluemix の IoT アプリ開発でも重宝する IoT センサーシミュレーターサービスについての地味で大事な更新情報です:
https://quickstart.internetofthings.ibmcloud.com/iotsensor/


上記サイトにアクセスして表示される画面は「あるセンサーデバイスの温度、湿度、機器温度の状態をシミュレートしてネット上に自らの状態を知らせてくれる機能を持ったサイト」です。この辺りの詳細はこちらのエントリを参照してください:
Bluemix の Node-RED サービスで IoT アプリを作る

さて、このセンサーシミュレーターのサービスですが、いつの間にか少し進化していました。画面右上にはデバイス ID としてネット上での MAC アドレスが表示されているのですが、この表記からコロンが抜け、また初めからアルファベットが小文字になっています!
2015071701

(↑これまでのバージョンでは右上部分は 4F:A2:0A:09:A8:C8 と表示されていました)


これは結構大きなインパクトがあります。なんといっても「これで表示内容がデバイス ID としてがそのまま使えるようになった」のです。Node-RED エディタなどでデバイス ID を指定する際に単純に画面からコピペすればよくなりました(以前はコピペした値のコロンを取り除いて、アルファベット大文字を小文字に手で修正する必要がありました)。

Bluemix の IoT 関連サービス、ますます使いやすくなってます!


自分は自己紹介する時に「言語マニア」である、ということがあります。

ある程度モノにしている言語は日本語と英語。読むだけなら韓国語とフランス語、かじった程度ではアラビア語。かじった直後に断念したのがヒエログリフ(象形文字)。 言語という意味では更に加えて Java, PHP, JavaScript, C, C++, (Visual)Basic, LotusScript, Perl, Pascal, Fortran, CASL,  ... あたりのプログラミング言語も使えます。が、今回は前者の話です。

最近はウェブの翻訳サービスを使うことも多いのですが、外国語を勉強するには実際に使うのが近道だと思ってます。英語のアルファベットはパソコンで普通に入力できますが、フランス語アルファベットには特殊な表記をするものがあったり、韓国語のハングルに至っては普通には入力できません(よね?)。どうせならパソコンでも勉強中の文字入力をできるようにして、それらの言語でパワポの資料を作ってみたりできるとカッコいいです。


というわけで、Windows パソコンで日本語/英語以外の文字が入力できるようにするための設定方法を紹介します。ちなみに多言語入力は Windows XP 以降から標準機能として可能になっていますが、以下の紹介画面は Windows 7 です。


まずコントロールパネルを開き、「地域と言語」を選択します:
2015071901


「キーボードと言語」タブから「キーボードの変更」ボタンをクリックします:
2015071902


「全般」タブの「インストールされているサービス」には現在使うことのできる、英語以外の言語サービスの一覧が表示されます(画面では日本語だけです)。ここに韓国語を追加してみます。「追加」ボタンをクリックします:
2015071903


「韓国語」 - 「キーボード」 - 「Microsoft IME」にチェックを入れて「OK」ボタンをクリックします:
2015071904


先ほどの画面に戻り、「インストールされているサービス」に「韓国語」が追加されていることを確認します。必要であれば、同様に他の言語も追加します。最後に「適用」ボタンをクリックしてから「OK」ボタンをクリックします。これで準備は完了です:
2015071905


では実際に韓国語を入力してみます。メモ帳を起動しておきます:
2015071906


ここでキーボードの 左Alt + Shift を押す度に使用言語が切り替わっていくはずです。韓国語を入力するには図のように "KO" と書かれた表記になるまで切り替えます。これでハングル入力モードになりました:
2015071907


日本語入力モードでも日本語と英語を切り替えて入力するように、ハングル入力モードでも同様の切り替えを意識する必要があります。ハングル入力モードで 右Alt を押す度にハングルと英語の切り替えができます。ハングルを入力する場合は「A」ではなく「가」という表記に切り替えます。
2015071908


この状態でメモ帳内で適当にキーボードを叩くと、ハングルが入力されていくはずです(ちなみにこの内容は適当に打っただけなので意味無いです):
2015071909


キーボード配列をまだ覚えていない場合はソフトウェアキーボードを参照することも可能です。そのためにはまずソフトウェアキーボードを有効にする必要があります。言語バーの▼印をクリックし、メニューから "Soft Keyboard" にチェックを入れます:
2015071910


チェックすると言語バーにソフトウェアキーボードボタンが現れます:
2015071911


ここをクリックすると画面内にソフトウェアキーボードが表示され、ここからハングルを入力することもできますし、このキーボード配列を参照しながら目的の文字をキーボード入力する(ための勉強をする)こともできます:
2015071912


同様にしてアラビア語なども導入し、言語を切り替えて入力することで多言語テキストを作成することも可能です。ちなみにアラビア語はちゃんと(?)右から左に入力されていきます:
2015071913


実際問題として、たまに外国人が日本語のローマ字変換でパワポの資料を作っているのを目の当たりにすると、それだけで尊敬してしまいます。ただでさえ難しい外国語である日本語を、それもローマ字変換とか・・・ そんな感じで自分も色んな言語が操れるようになったらいいなあ、と思ってます。


余談ですが、この多言語テキストが標準機能として入力できるようになったのは Windows XP からでした。当時アラビア語を勉強していた自分にとって Windows XP は神 OS でした。開発者としてはシステムデバッグが楽な Windows 2000 も気に入っていたのですが、この機能を知って乗り換えを決意したものでした。


今回のブログエントリは ThinkPad ユーザー向けです。


lenovo の ThinkPad のほとんどの機種には APS(Active Protection System) と呼ばれている、ハードディスク保護システムが用意されています(画面はコントロールパネル):
2015071801


世の中にはありがたい人がいてくれて、この APS 機能を SDLAccel というライブラリにして、色々なアプリケーションに応用できるようにしてくれた方がいました。このリンク先のダウンロードボタンをクリックして、SDLAccel.zip をダウンロードしてください:
https://docs.google.com/open?id=0B3tL0c24sdXwSnpLSHpwYUxHZ0k

2015071802


この zip ファイルを展開し、SDL.dll だけを取り出しておきます:
2015071803


これが(一般的に多く使われている)SDL ライブラリの APS 対応版です。これがどういう意味かは後で紹介しますが、普通の SDL.dll と置き換えて使うことができるものです。

では実際に置き換えて使ってみるための、SDL を使ったアプリケーションをダウンロードしてみましょう。例えばこの Tux Racer というゲームは SDL 対応ゲームなので、これで試してみます:



Tux Racer を SourceForge からダウンロードして、展開します:
http://sourceforge.net/projects/tuxracer/


展開後の tuxracer.exe をダブルクリックすると、普通にゲームを始めることができますが、今回はその前に一手間かけてみます。
2015071804


この Tux Racer のフォルダにある SDL.dll を SDL.dll_org にリネームし、先程ダウンロードした SDLAccel.zip から取り出した SDL.dll を同フォルダにコピーします。つまり、SDL.dll を SDLAccel.zip のものに置き換えます:
2015071805


これで準備完了です。改めて tuxracer.exe をダブルクリックしてゲームを起動してみます。

このゲームは主人公の Tux(ペンギン)を方向キーで左右に動かしてアイテムを取りつつ、上下キーでスピードを調整しながらゴールを目指す、というアクションゲームです:
2015071806


ただ SDL.dll を更新後は方向キーが使えなくなっています。代わりに APS を使ったコントロールが有効になっていて、ThinkPad 自体を前後左右に傾けることで Tux をコントロールできるようになっているはずです:
2015071807


ThinkPad 本体を落とさないように、気をつけて遊んでください。

このページのトップヘ