カテゴリー : Windows

GPD WIN/Pocketの英語環境を(APIから見て)日本語環境化する

GPD WIN/GPD Pocketでは標準でインストールされているOSが純粋な日本語版ではなく
英語(en_US)版に、お好みで日本語言語パックを入れるという形になっています。

日本語化については、ログオン後のUnicodeなUI部分の表示は
コンパネ->時計、言語、および地域->言語を追加するを選び、日本語を選択してダウンロードして
規定の言語にすることで設定できます。

また、Welcomeスクリーン、非Unicode、環境の日本語表示は上記設定後
コンパネ->時計、言語、及び地域->地域を選び、場所に日本、管理で
「ようこそ画面と新しいユーザアカウント」の設定のコピー及び
その下の「Unicode対応でないプログラム言語」のシステムロケールの変更で日本語を選ぶことで設定できます。

ここまでやると大部分の場所が日本語化されるのですが、完全に日本語OSとなる訳ではありません。
この時点でAPIで言語関係の関数を叩くと
GetSystemDefaultLCID()
GetUserDefaultLCID()
GetSystemDefaultLangID()
GetUserDefaultLangID()
GetUserDefaultUILanguage()
についてはロケール ID (LCID)が0x0411(ja_JP)で帰ってきますが

GetSystemDefaultUILanguage()
に関しては0x0409(en_US)が帰ってきます。

GetSystemDefaultUILanguage()に関してはMSのリファレンス

>This function never returns a language identifier for a Language Interface Pack (LIP).

とありますので、言語パックの影響を受けず、インストール時に設定された初期言語が返されます。
このため、一部の日本製アプリケーションでは、主にDRM的な観点からこの関数を用いて
ユーザのOS言語を検出し動作しないことがあります。(逆もしかり)
上記理由から具体的にどれが該当するかは書きませんが主にゲーム系のアプリケーションで多い様です。

これはレジストリの
HKLM\System\CurrentControlSet\Control\Nls\Language\InstallLanguageキー
en_USである0409からja_JPである0411に変更することで解決することができます。
ここを変更後再起動すると、GetSystemDefaultUILanguage()の値も0x0411となり、上記の様なアプリケーションでの動作が改善されます。
#ちなみに、日本語言語を既定にしてProにアップグレードするとここの値は0x411となるようです。

軽く確認しただけなので他の関数ではまた違う値が出るかもうしれませんし
WinRTに関しては触ってもいないので一緒に変わるかは全く不明ですが
日本製のゲームが動かない、という方は一度試してみてはいかがでしょうか。

添付に上記で挙げた関数の値をベタ出力するコピペプログラムを貼り付けておきます。
現在のOS設定値を確認する参考としてどうぞ。
#Defenderだと”Trojan:Win32/Sprisky.C!cl”と出る場合がありますが誤検知です。MSに解除申請が通ったのでそのうち表示されなくなるはずです。

#6月に買ったものの、セットアップで蹴られて積んでいた某ゲームがこれでやっと出来る. やったー

(GPD WIN)JoyToKeyがスタンバイ復帰時に暴走するのをなんとかする

#2017/01/14:電源OFFからの起動時に上手く動作してなかったのを修正

GPD WINについているスティック類を有効活用出来るのがJoyToKeyですが
これを起動したままスリープや休止状態にした後、ある程度時間が経ってから
復帰させるとポインタの速度がしばらく高速になり操作が難しくなります。

原因はどうやらJoyToKeyの側にあるっぽく、プロセスを再起動すると直ります。
毎回手で再起動するのも面倒くさいので、コピペでスクリプトを書いて
ロック解除時に実行する様にタスクスケジューラに組み込みました。

しばらく使ってみて問題無さそうなので貼り付けておきます。

設定
1.このzipファイルをダウンロードして解凍します。

2.JoyToKeyを以下のディレクトリに配置。
C:\Programs\JoyToKey\JoyToKey\JoyToKey.exe

3.「restartjoytokey.vbs」を以下のディレクトリに配置
C:\Programs\JoyToKey\restartjoytokey.vbs

4.この上でタスクスケジューラに「JoyToKey Logon statup.xml」をインポートすると
任意のユーザでロックを解除した際にJoyToKeyを強制的に再起動します。

中身も簡単なのでもし動かなかったら適当に直してみてください。

Canon CP900をwindows8.xで使う。

Canonの昇華型プリンタCP900
L版の写真を手軽に印刷出来るのでCP910が出る直前に買ったのですが
よく確認したらWindows8系列はサポート対象外で、ドライバがありません。

発売が2012年9月でWindows8の一般発売直前とはいえ
そのまま1年売っていたので当たり前に対応していると思っていたのですが
対応予定もなくバッサリ。

確認しなかったのが悪いのですが、このまま使えないのも悔しいので
ちょっと工夫してドライバをインストールします。

CP900のドライバはWindows7向けが用意されているので、それをDL。
そのまま実行すると
「現在のWindowsバージョンでは、プリンタードライバをインストール出来ません。」とダイアログが出ますが
この時後ろではtempフォルダにドライバ一式が展開されています。

このダイアログのOKボタンを押さずにそのまま
C:\Users\%USERNAME%\AppData\Local\Temp\CanonUPW_000
にあるドライバのフォルダをDesktop等にコピーします。
このフォルダの
INST\windows7_32(or64)\CP900
にある、cnycpins.exeを互換モード(Windows7)で実行すると、ドライバのインストールが出来ます。

SecureBoot環境や64bit環境の場合、ドライバの署名がWindows8向けでない為
インストールに失敗します。
SecureBoot環境の場合はUEFIでSecureBootを無効にした上で
この辺りを参照してドライバー署名の強制を無効にするとインストール出来ます。

Wi-Fi経由でLightroom等から印刷していますが、今のところ問題なく使えています。
キヤノンは製品発売中にリリースされたOSぐらい対応して欲しいものです。

nano iDSD v6.5β firmware

3/23のpostで本国のiFiサポートから回答のあった
USB3.0動作不良に対応したfirmwareのβ版が配布されました。

USB3.0対応nano iDSD用ファームウェアBeta版の頒布

早速適用してみた所、無事miix2 8でUSB DebugがOFF=xHCIがONの状態でも
DSDの再生が正常に出来る様になりました。

日本のiFiブログでもあるようにDSDファイル再生開始時にノイズが載りますが
元々のfirmareでもブチブチノイズが載っていたのであまり気になりません。

3月中と言っていたfirmwareの提供予定が4月後半にずれ込んだことから
正式版の提供までまだ大分掛かりそうですが、とりあえずは使える状態になりました。

nano iDSD運用

現在のポタアン運用は以下のような感じ。

○接続
-outer-
Bluetooth Remocon or Apple Remote App
-in bag-
miix(player) <–> microUSB延長 <–> USBHostCable <–> USBHub(+Battry,SD) <–> DAC

(option:Portable Wi-Fi Router)

miix2 8とnano iDSDを接続する為にUSBホストケーブルを挟んでいるのですが
それだけではバッテリーが持たないため、ポータブルバッテリーを追加。
また大量のDSDファイルを持ち歩くためUSBハブ経由でSDカードを追加しています。
miix2 8と各種機器の間はmicroUSB延長ケーブルを挟む事で、取り回しの難を回避。
操作はBluetoothリモコンか、無線LAN経由でRemoteアプリを利用しています。

○構成機材
・プレーヤー
Lenovo miix2 8 + foobar2000

・アンプ
nano iDSD

・リモコン
iRemote Shutter
or
Remote(+foo_touchremote)
WindowsPhone8/iOS

・ケーブル
二股USBホストケーブル (miix USBHub/Battry間)

microUSB延長ケーブル
CAP-LMM

・USBハブ(+SDカードリーダー)
USB-HCS307

・USBケーブル (USBHub/DAC間)
USB3-RL07BK

・USB周り供給バッテリー
cheero Power Plus 10400mAh DANBOARD Version

・ストレージ
sandiskの適当な64GB SDcard

miix+iDSD

この構成でのバッテリー持ち時間は8時間程度。
モバイルバッテリー1つでnano iDSDとmiix2 8、USBハブの電源を供給するので
ここの容量が大きければその分再生時間も延びるはず。
この時のnano iDSDはバスパワーモードで内部バッテリーの消費はなし。
miix2 8も電源供給を受けながら動作するのでタブレット本体のバッテリー基本は減りません。
(miix2 8で重い作業をすると供給が追いつかなくなり、多少減ることもあります。)

miix2 8はInstantGoの所為でディスプレイをOFFにするとデスクトップアプリの動作が止まるので
基本ディスプレイは最小輝度のまま付けっぱなしになります。

操作はボリュームだけnano iDSDを触る必要がありますが、あとはBluetoothリモコンか
各種Remoteアプリから可能です。
iRemote ShutterはiOS専用の表記ですがwindowsでも問題なく利用出来、WMPやfoobarなどの
メディアリモコンとして設定なく使えるので結構便利です。 バッテリー消費も抑えめ。
各種Remoteアプリは間にW-LANルータが必要ですが、iTunesで操作するのと同じく
曲名選択やプレイリストの選択、ジャケットの表示が出来るのでスマートフォンで音楽再生するのと
変わらない操作性が得られます。 ただしバッテリーはそれなりに食う模様。

DSDひとつの為にここまでやるのか、という感もあるのですが、iOS機の様に曲のインポートに
苦労することも無く、アンプやバッテリーもろもろはひとまとめにして鞄に放り込めば
外に出ているのはイヤホンとリモコンだけなので取り回しも楽です。

動作中の電力はモバイルバッテリーからすべて消費されるので、充電も1つで済むのが便利。
iOS機との連携だとアンプとiOS機別々に充電しなければならず、その度にコネクタを外すのが
面倒でしたが、この構成ならバッテリーにmicroUSBケーブルを挿すだけで済みます。
ケーブルは多くなりますがDockコネクタのような接続が不安定な箇所がなくなるので
移動中に音が止まることもなくなります。

暫くこれで運用してみようと思います。

nano iDSDがmiix2 8で動いた

一旦はiPhoneと組み合わせてnano iDSDを使っていたものの
iPhoneのストレージ不足やDockコネクタの抜けやすさから
運用上のストレスがそこそこ溜まっていました。

日本のiFiサポートでも公式にwindows8.1対応が公表されたので
本国のサポートにメールを投げてみたところ、以下のような回答が(英語なので要約)。

>USB3.0Portの実装についてチップによって方言があり、互換性に問題が出ている。
>これはTechnetのサポートスレッドにも上がっていて、IntelのxHCI等が該当する。
>もし、xHCIをBIOSでDisableに出来るならそれを試して欲しい。
>これに対処するfirmwareを現在開発していて、数週間のうちにテストリリースする予定。

とのことだったのでmiix2 8のUEFI設定を見てみたところ、”USB Debug”の項目を発見。
これをONにするとxHCIが見えなくなり、代わりにEHCIが見える様になるみたい。

この状態でmiix2 8にnano iDSDを接続したところ、無事DSDやハイレゾ音源の再生が出来ました。
ドライバのspytoolを使ってみてもパケット落ちが無くなっているので、正常に動いています。

早速動いた旨をサポートに返信すると
>xHCIを無効にすることによって解消する、intel USB3.0 Portの問題はもうすぐアップデートする。
>アップデートがあったらまた連絡するよ。
との回答でした。

USB Debugを有効にした状態だと、nano iDSDが動く代わりに他のデバイスの認識が不安定になる様で
xHCIでも動作出来る様になるなら嬉しい限り。

アップデートを期待して待ちつつ、暫くはUSb DebugをONにして運用しようと思います。

Surface2の良いところ・悪いところ

そろそろ購入して5ヶ月。
その間運用して自分の中で便利な点、改善が望まれる点が
はっきりしてきたのでまとめてみる。

○良いところ
・(ほぼ)フルセットのOfficeが動く。
特にWordやOneNoteのフル版が利用出来る点。
キーボードカバーという入力しやすいオプションがあることもあって
ノートが格段に取りやすくなった。

・(フルセットに近い)リモートデスクトップが動く
iOSやAndroid向けと違い、Remote FX vGPUやRemoteAppといった
より高度なリモートデスクトップクライアント機能が利用出来る。
コレによって、単体では実現が難しい作業もクラウドの機能を借りて実行しやすい。

・本体とキーボードが接続されている
surface2とtype/touch coverはVAIO Tap11の様に離れている訳ではなく、磁気でカチっと繋がっている
これが実使用面においては結構便利で、電車の中で膝に載せてタイピングしたい時も
キーボード側さえ保持していればおおよそ問題なく打ち込むことが出来る。
所謂タブレットスタンド付きBluetoothキーボードだと安定が悪かったり
Bluetoothの所為でレスポンスが悪かったりすることも有るけど、そういった事は一切無く快適。

・デザイン
オサレなキャッフェで取り出しても恥ずかしくないデザインって結構重要だなーと
色々な所に持ち込んで改めて思った。
surface2が使いにくくてasus辺りのノートへの買い換えを検討することもあったけど
結局の所デザインが気に入って継続して使っているので、毎日持ち歩く道具のデザインは大事。

○悪い所
●ハードウェア編

・重い
本体(676g)+Typecover2(255g)=931g
フルセットのノートPCが800gを切る時代に、ARMを積んでいても931g
やはり質感重視で本体重量がそこそこ行ってしまうのに加えてのCover。
鞄に忍ばせるにもやっぱりずっしり来る。
ARMタブレット+αの製品として、許せる重量かと思うと微妙な所。

・TypeCover2のタッチパッドが最悪
起毛加工してあることから指滑りが悪く、またダブルタップによるドラッグも出来ない。
静電気が溜まりやすいのか利用していると一定時間で動作がおかしくなることがあり
その場合一旦本体から取り外すと復旧する。 キーボード部分とバックライトに関しては
とても満足しているだけに、このタッチパッドの品質は如何ともしがたい。

・液晶の色再現性が悪い
競合がsRGB色域100%を実現しているにも関わらず、60%程度なので見劣りする。
最近のスマートフォンは色表現の仕方は兎も角色域は広いので、それと比べてしまうと結構気になる。
ModernUIアプリにはデジカメのRAWファイルが扱えるアプリが幾つかあるが、そういったアプリも
ハードウェアの性能が足りない所為で生かすことが出来ない。

・バッテリーが持たない
実感としてmiix2 8よりも持たない。 iPad 3rdと比較すると実使用時間で7割程度に感じる。
この辺りはInstantGo対応の所為でスタンバイ中に動作していることも関係しているのだろうけど
それを加味しても、1日持ち歩いて利用するには厳しい消費量。

・スペックが足りてない
Tegra4を積んでいるとはいえ、やっぱりARMなので操作に突っかかることも多かったりする。
メモリもOfficeでそこそこ大きいファイルを開いたり、IEで重いページ(名指しすると楽天とか)を開くと
不足して強制終了ダイアログが開くことが度々。
(このときtaskmgrを開くと空きが見かけ上不足していないこともあり、RT特有のバグの可能性もある。)
miix2 8では仮想メモリが効いているのか、同等以上に厳しい環境でも強制終了ダイアログが
開いたことはない。

●ソフトウェア編
・WindowsRT
TypeCoverやTouchCoverと共に売られている以上、ノートPCの様な使い方を
ある一定上の頻度でもって期待してしまうのだけど、WindowsRT特有の制限
(3rd PartyアプリはModernUI限定であること、FEPの選択肢も無い)がやっぱり
色々な所で足を引っ張る。
Android TabletやiPadと同レベルだと考えればそれほど悪くないのかもしれないけど
今時のx86 Windowsタブレットと比較して重量やサイズ的に優位な点があるわけではないので
どうしても制限の方に目が向きがち。
x86 Windowsの場合、使いにくければDesktopアプリを利用するという逃げ道があるけれど
WindowsRTの場合回避できないのでそれが不満として残ってしまう。
利用しているユーザが少なく、またMSとしてもナレッジが無いのかサポートを受けにくいのも
一層不満の蓄積に役立っている。

・ModernUIアプリ
上の項目とも重複するけれど、やっぱり10インチくらいのディスプレイでノートPC
のような使い方を期待する場合、ModernUIのUI設計というのは不便であると思う。

例えばSkypeで連絡を取りつつ、Evernoteのノートを参照しながらSSHで作業をしたいと思った場合
Skypeはバックグラウンドでも動作出来るのだけど、SSHクライアントはバックグラウンドに回すと
接続が切れてしまうので、ログインしなおしになる。
(ガイドライン的にはバックグラウンドに回されたアプリはシステム側のリソース見合で強制終了
されるのだけれど、surface2はそれほどシステムリソースに余裕が無いので、この様な場面では
バックグラウンドに回す=強制終了で接続が切れるといった状態になることが多い。)

また、UI設計上同一アプリケーションで複数のウインドウを持ちにくい設計になっているので
複数のホストにSSHしながら作業、というのも行いにくい。
上げた例はSSHクライアントだけど、同一のアプリケーションで複数の作業を行う場面では
似たような状態が起きる。 これは現在のModernUIのデザインである限り回避が難しい。

・Microsoftアカウント
これは統合しすぎて柔軟性がなくなっている。
MSアカウントとSkypeを統合した場合、ModernUIのSkypeではサインインしているMS IDに紐付く
Skypeアカウントでしかログインが出来ない。
例えば個人と仕事でアカウントを分けていた場合、仕事のアカウントでSkypeを利用しようと
思うと、別のMS IDで別ユーザとしてOSにサインインしなければならない。
x86 Windows環境の様にDesktopアプリのSkypeを利用するという選択肢がとれないので
こういった使い方はかなり不便を強いられることになる。
Skypeに限らずOneDriveでも同様で、クラウドサービスのアカウントにPCのアカウントが
引きづられてしまうのは使い勝手が悪い。

○まとめ
・デザインは良い
・WindowsRTはやっぱり駄目だ
・TypeCover2のタッチパッドはオマケレベルなのでマウスが必要
・中身がBayTrailになったら買い換えたい
WP_20140325_16_35_01_Pro
改めて書いてみると悪い面ばっかり思い浮かぶんだけど、OfficeとIEがほぼフルセットで動くので
インターネットタブレット+αとしては悪い選択肢ではないと思う。(が人には進めづらい。)
喫茶店で開いて軽作業をするぐらいなら、オシャレだし良いと思うのだけど…

WindowsRT8.1でRemoteFX USB Redirectionが正常に動かない。

○やりたかったこと
Surface2(RT8.1)からx86_x64の8.1環境に接続
USB Redirectを利用してiTunesとiPhoneを同期

○環境
ホスト
Windows 8.1 Enterprise with Windows Server 2012 R2
クライアント
Surface2(WindowsRT 8.1)

○設定
この辺りの設定を投入。
Some USB devices are not available via RemoteFX USB redirection
+RTの場合Group Policy Clientサービスがデフォルト無効なので有効にするくらい。

○遭遇した事象
RT8.1ではApple Mobile Device USB Driverが開始できない。
(RTではない)8.1環境では同ホストで正常にデバイスが開始できる。
RT8.1でもPTPデバイスとしてのiPhoneなら正常に見える。
iPhone以外のMTPデバイスとかも正常に見える。
#追記
Android adb interfaceは開始できるけど
Android bootloader interfaceは開始できない
暇があったらこの辺りのドライバを読んでみよう

○結論
WindowsRT8.1側のバグ?

これに限らず、x86な8.1とRT8.1で挙動が違うことがチマチマあるのだけれど
そのあたりドキュメントはないし、RTなんて誰も使ってないし
MSに聞いてもまず間違いなく有料サポートに誘導されるので解決が難しい。
#+MSのSurfaceサポート担当はRTの知識がなくて、適当に回答されることが多い…

もうWindowsRTみたいなイロモノは避けて素直にBayTrailな8.1タブレットに買い替えたい。

Instant Go対応機はディスプレイだけをOFFに出来ない?

Connected StandbyというかInstant Go対応機の場合、
ディスプレイだけを消灯させて、Desktopアプリを動かすことが出来ない。

InstantGoの場合ディスプレイ消灯=スリープ状態で
許可されたアプリのみバックグラウンドでの動作が出来る。
これはModernUIのストアアプリのみでDesktopアプリは問答無用に止まる様。

これで何が困るかというと、foobar2000の様なアプリとポータブルアンプの
組み合わせで外で使いたい場合、バッテリー消費が従来よりも増える。

設定の変更でInstantGoを無効にする手段が今のところ見つからないので
ディスプレイだけ落してDesktopアプリで色々させようと思うと不利になりそう。

#追記(2014/03)
レジストリを操作することでInstantGoを無効にすることが出来るようです。
How to disable Connected Standby in Windows 8?
miix2 8で試してみましたが、スタンバイがなく休止状態とシャットダウンだけになるので
これはこれで使いにくいかもしれません。

SkyDriveの空き容量制限

Surface2でSkyDriveから壁紙を設定しようと思ったら、ファイルコピーエラー。
何だろうと思ってSkyDriveアプリを立ち上げてみたら、以下の表示が。

skydrive

どうやら空きが3GB未満のシステムドライブにSkyDriveフォルダがある場合、操作に失敗するようです。
ストアアプリしか入らないSurface2でも、音楽や画像をSkyDriveから落して置くとあっという間にシステムドライブが3GB以下になります。
フルセットのWindows8が乗っているタブレットなら、なおさらです。

これを回避するにはディスクリーンアップで要らないファイルを消すか、SkyDriveフォルダをシステムドライブ以外に置くの2パターン。

surface2で試しにディスククリーンアップを実行してみた所、メモリダンプが6GBも溜まっていました。
ストアアプリしか動かないWindowsRTでダンプファイルを残してしても仕方ないので、サックリ削除&ダンプを残さない設定にしました。

ダンプを残さない設定はコントールパネルの「システム」から、「システムの詳細設定」に飛び、詳細設定タブを表示。
起動と回復の「設定」ボタンを押して、デバッグ情報の書き込みを「なし」にすればOK。
ここの設定以外でもダンプが吐かれることはありますが、BSoDで落ちたときのMiniDumpやMemoryDumpはここの設定なので変更して置いて損はないはず。

もう一つの手として、SkyDriveフォルダをシステムドライブに置く場合。
システムフォルダを移動する時は、移動先がNTFSでなくてはなりません。
surface2のmicroSDを利用する場合、先にNTFSでフォーマットして領域を確保しておきます。
あとは%UserProfile%(C:\Users\username\等)以下のSkyDriveフォルダを右クリックしてプロパティを開き、場所タブから移動出来ます。

Windows(RT)8.1になってSkyDriveも賢くなり、必要なファイルだけローカルに置いておくことが
出来るようになりましたが200GBクーポンで容量が大きくなると、置いておきたいファイルも増えがち。
警告が出る前に早めにフォルダを移動しておくのが良いかも知れません。