*自分用ConnectBot
せっかくなのでgithub上で開発することにした.
https://github.com/binzume/connectbot
-
日本語入力モード([あ]と書かれたボタンがそれです)
-
外付けキーボード対応(ALT,ESC,CTRL等)
-
ALT+矢印キーを入力できるように
-
APK:ConnectBot.apk
マーケットで公開したいけど,パッケージ名変えたり,アイコン作ったりするのが面倒.
…PageUp/Down忘れてたことに気づいたのでついでに対応した.
http://tomocha.net/diary/?20101227 "ServersMan@VPSサービス SSH接続用のポート変更に伴う設定変更のお願い"
これ酷いな.そんなVPSってありなの?
さくらのVPSはそんなことしないと思いたいけど,勝手に入られないようにシリアルコンソールは使えないようにして,ディスク暗号化するくらいはしておいた方がいいのかもな.障害時はイメージごと入れなおす事になってしまうけど.
Android + ConnectBot + Bluetoothキーボード の組み合わせは最強ですね.
*[Android] Androidのキーコード
最新のソース見るとゲームパッド用のキーコードが用意されていますが,その前にCTRLとかPageUp/PageDownとかが欲しいよなぁと思ってしまう.コードもアスキーコードか,HIDのUsage IDあたり基準にしてほしい.なんだか,場当たり的に連番でキーコードが付けられていくので,あとで理解に苦しむものになりそう.配列に格納することを考えて連番にしているのだろうか….
というのは割とどうでも良くて,問題は定義されてるキーの数です.CTRLもESCも無いので,外付けキーボード使う時に使えないキーが多くて困ります.そもそも識別できるキーの数が足りないので,適当な代替キーを割り当てるのも限界があります.
ConnectBotで外付けキーボードを使うときにCtrlやESCが欲しいのでどうしようかと思ったのですが,キーコードが割り当てられていないキーでも,KeyEventは取得できて,キーコードは0ですがスキャンコードは入っているようです.アプリケーション側でスキャンコード見るとか酷いですが,一番無難そう.
というわけで,ConnectBotをいじって使うことにする.
不動産屋からの電話で起きる.眠いので適当に色々決めてしまったけどまぁいいか.
*[Android] Androidで日本語配列キーボードを使う
昨日買って来たbluetoothキーボードは無事に使えるようになったのですが,US配列になってしまっています.私は日本語配列派なのでどうにかしないといけません.
前に色々いじってた時に,キーマップを変更しようと試みたことはあるので,最初にいじるべきファイルは分かってます.
-
/system/usr/keylayout/qwerty.kl
-
/system/usr/keychars/qwerty.kcm.bin
この2つのファイルをどうにかしてやれば,いけそうです.他に日本語配列にしてる人がいないか探したのですが,見つかりませんでした.もし,ちゃんとしたものがあるなら,こっそり教えてください.
後者のファイルはバイナリですが,中を見ればすぐ意味が分かるので,makekcharmapとかいう謎のツールとか無くてもバイナリエディタで問題ありません.
簡単に説明するならば,qwerty.klがキーボードのスキャンコードからAndroidのキーコードに変換するテーブルです.そして,qwerty.kcm.binはSHIFTやALTと一緒に押したときを含めてどの文字が入力されるべきかを定義します.
Android Platform Developer's Guideを読むと色々分かるのでAndroidいじるときはSDKだけじゃなくてこっちも見ておくと良いかも.
キーの数が同じなら,qwerty.kcm.binの方だけで無理やりどうにかするという手段も使えますが,どうせキーの数が増えているので両方のファイルをいじることにします.
すでに定義されているキーの記号などは簡単に入れ替えられます.問題は,日本語キーボードの「|」や「_」を入力するキーで,こいつらをどうにかしないとです.
ちなみに,スキャンコードは
-
41 半角/全角キー
-
89 「\/_」
-
124 「\/|」
です.この辺は,Linuxのキーマップを見ればよいでしょう.それにしても,HIDのUsageIdから物理配置基準のスキャンコードに変換してから,さらにキーコードに変換するとか,面倒なことするなぁ….
新たにキーを追加したいので,Android内でどんなキーが使えるのかをまず確認,基本的には,android/view/KeyEvent.java にあるキーコードから選ばないといけない.
念のため,qwerty.klを読み込んでいる libs/ui/KeyLayoutMap.cpp も見てみたけど,キーは include/ui/KeycodeLabels.h に定義されてる名前でなければいけなくて,これは android/view/KeyEvent.java にあるものと同じのようです.
仕方ないので,AT + SHIFTで入力するのでいらなくなった APOSTROPHE あたりを使う.キーコードの問題なので別になんでも良い.
中にはキーコードを直接使うアプリがあるので,qwerty.klを変なものにすると使いにくくなるかもしれませんが,今回はあまり気にしないで不便を感じたときに直す方針で.
というわけで,終わり.
一応,qwerty.kl と qwerty.kcm.binをおいておきます.たぶんまだ不便なので,好みに合わせていじってください.
もちろん,/system下に書き込むにはroot権限必要です.
/data/usr下でも良いような感じもするので,rootは必須ではないかもしれませんが,試していません.システムプロパティいじれば好きな場所に置けるようですし,そもそも,ハードウェアごとに別のキーマップにできるので,上書きしないほうが良いのかもしれません.
*ニコニコPlayer(仮)
ニコニコプレーヤー(仮)のダウンロード数が2ヶ月で約50,000に.
1か月の時点では15000くらいだったので好調.
ちなみに,ユーザー数/DL数は64%くらいの模様.使えないと判断されてすぐ消されてしまうケースは少し減ってきたかな.
*[引っ越し] 保険
家財保険とか必要なのかすら良くわからない.他の保険も一緒になってるやつなので契約はするのだけど,いったいいくらにすればいいのか良くわからない.
部屋にあるもの全部無くなっても金額的にはそんなに痛くは無いよなぁと思ってしまう.いや,買いなおせばそれなりの金額になるのだろうけど,無いと困りそうなものって意外と少ない.
あと,無意識のうちに,何らかの事故で想定される被害に確率を掛けて期待値を考えてしまいますが,それだと何も保険の類を契約することができないので,どうにかしないといけない.
そこまで考えたけど.明日決めます,ということにして秋葉原に向かう.
*[Android] DesireのためにBluetoothキーボード買って来た
DesireはHIDプロファイルが入っていないので,そのままではキーボードとか使えないのですが,root取って自分で入れれば使えます.
BluetoothのHIDプロファイルが標準で使えるCyanogenModを使うのが安心です.
ただ,日本語配列のキーボード繋いだけど,英字配列として認識されている.どこかにキーマップの設定ファイル落ちてないかな….
HTC Senseが好きだったのですが,ADW.Launcherも良いかも.
以下,無駄な努力のメモ:
http://code.google.com/p/androidobex/downloads/list
基本的には,hcitool scanして,hiddにMACアドレス渡せば使えるっぽい.
今使ってるAuraxTSenseというROMだと hci0 が無いといわれて困ったので,dbus-sendとhciattachで初期化したりしないとだった.
http://forum.xda-developers.com/archive/index.php/t-715913.html
この辺を参考に.
dbus-send入れるところから始めたので結構時間かかった上に,結局上手く動かず挫折.一応,hcidumpするとキー入力は拾えてるので,もう少し頑張れば使えそう.ただ,キーボード繋ぐたびにこんな面倒なことは出来ないので,何かアプリが必要だなぁ.
ysaotomeにCM6.1だと普通面倒なことせずに使えてると聞いたので,CyanogenModに乗り換えることに.
会社でケーキを見て今日がクリスマスイブだと思い出す.
クリスマスなので肉が食べたい.
ちょうど肉を食べたそうにしていたmeshiとeldeshとで品川まで行って焼肉食べる.微妙に中途半端な所で仕事を中断してたので,会社に戻って続きを.
*[引っ越し] 部屋を決めました
会社と駅に近くて,それなりに新しくて,浴室乾燥機とか宅配ボックス欲しいなぁ…でも8万円台が良いです,とか言って条件増やしたら,そんなに数が無かった.多少狭いけど,今まで広い部屋を使いこなせた経験がないので,それは問題ない.
しかし,家賃高いなぁ.下の階なら少し安くできたのに,10階とかの部屋にしたけど,意味ないよな.
*[Android] ニコニコPlayer(仮) v0.1.10.KARI
久しぶりにアップデートしました.
最近あまり時間が取れないので,大きな変更点はありません.バグ修正がメインです.バグ修正だけだと寂しいので投稿日時を表示するようにしました.
*忘年会
会社の忘年会でした.
おなかいっぱいです.
明日から休む人も多いんだろうなぁ.私はまだ色々仕事が残ってるので….
自分でAndroid動かしてみたいのだけど,QFPパッケージのCortex-A8コアのCPUはあるのか….評価ボードそのまま使うとかイヤだし,趣味の電子工作の範囲で作れないかなぁ.
部屋探したりする.
頑張って午前中に起きたのだけど,外に出る気が起きなくて,家出たのは15時.
あまりこだわりとか無いのだけど,今住んでいるところを基準に条件を決めると結構高くなるなぁ.何部屋か見せて貰ったけど,やっぱ新しいところが良いかなぁ.次は23日に再度行くことにする.
11時に出社.眠い.
*サーバ復活
郵便受け確認したら,10日までに支払いしないと止めますっていうハガキが来ていた.郵便物は週に1回くらいしかチェックしていないのがダメなのだろうけど,めんどうなんだよなぁ.そもそも月末に,クレジットカードの支払いが失敗した通知は来てたので,忘れて放置してたのが原因なのだけど.
ログを見る限り,サービス停止中もマシン自体は動いていたようです.ネットワークだけ切断されてた感じだ.
午後,サーバに繋がるようになってた.さくらからもメールが来ていて,18時までに支払わないと翌日になってしまうらしい.
*ちゃんとお金は払いましょう
VPSの料金がなぜかクレジットカードからの引き落としに失敗していて,サーバにアクセスできなくなった.とりあえず,振り込んでおいたけど,いつ使えるようになるんだろ?
前使ってたレンタルサーバのwebがそのまま残ってたので,DNSの設定だけ変えて切り替えておく.
*ネギアンテナ
ライブドアのトップページにネギアンテナが…という噂を聞いたので,見てみたらネギの写真とともに紹介記事へのリンクが張られていた.
Android Marketの様子を見るために公開したものだけど,意外と反響があって面白い.実際にインストールして使おうと思う人は少数だろうけど.
お昼食べて帰ってくる
夜まで寝る.
今週はニコニコPlayer(仮)をいじれなかったなぁ.
*kstm.org忘年会
六本木→秋葉原→水道橋→六本木
なんか,お昼食べに行ったら忘年会に.safii,meshi,gazyu,kouma,sang0,eldesh,jonaに加えてaoiちゃんもいた.
六本木集合とか言われたけど,情報が少なすぎて合流に手間取る.寿司食べた後,秋葉原を散策.
みんな就活セミナーに興味深々….
eldeshはboost忘年会があるとかで途中でどこかに行く.aoiもどこかに.
水道橋でご飯食べて,六本木のルイーダの酒場に.ドラクエ懐かしいな.
電車が無くなってしまったのでsafiiのところに泊まる.
大画面でアニメ見れるのいいなぁ.広い部屋とプロジェクターが欲しい.
今更だけど食べた.
今日も朝から両国です.
今半弁当
やっぱり今半の弁当は美味しいですね.欠席者した人の分をもらって2つ食べました.
休日が終わってしまった.
自然言語を話すのは,精神的な消耗が激しいので良くないですね.買い物くらいは行きたかったのだけど,帰ってすぐ寝てしまった.
仕事でも趣味でもコードを書かない日はとても久しぶり.
10時から社外で研修なので,8時とかに起きた.眠い.
こんな早朝から人間が活動しているということに驚きを覚えながら研修会場に.
10時からというので,真面目な社会人である私はちゃんと10時前に行ったのですが,たぶん10時時点では1/3くらいの人しか来てなかった.
スカイツリー.
かなり伸びました.
会社からも見えますが,両国まで来るととても近くに見えますね.
*ニコニコPlayer(仮)
アップデートした.今回は中身を色々いじったので,またさらにバグが増えた可能性が高いです.
先週末から,DL数が急に増えだしたのは,Galaxy Tabの発売の影響でしょうか….
git使い始めたけど,一部のディレクトリだけcloneする方法が分からなくて困ってる.もしかしたらとても基本的なことなのかもしれないけど,説明見た感じだと分からなかった.小さめのリポジトリに分けて管理すればよいのかもしれないけど,面倒なので今はワークスペースを丸ごと突っ込んでるのだけど別のマシン(会社とか)で一時的にちょっとした修正したくてcloneすると結構つらい.
大き目のOSSでもひとつのリポジトリってこと多い気がするな.
あとディレクトリが管理されないのも少し残念.
subversionとmercurialとgitを併用してるけど一長一短で迷うなぁ.各ディレクトリに.svnが出来たりしないし,リポジトリやブランチへの操作が色々出来るのは良いのだけど.
……一人で作業して,常にネットワークにつながってる前提なら,分散リポジトリはいらないのかもしれない