カテゴリー別アーカイブ: 電子工作

NeXT non ADB keyboard

とりあえず使えるようになったので。

DSC01147

初期化処理はもうちょっと見直したほうがよさそう。

探せばATMEGAやArduinoでの実装例が見つかるけど「PIC用にコピーリスペクトしただけなんじゃないの」と思われるのもアレなので、信号処理周りは独自に考えてみたつもり。と言っても19000bpsのシリアル通信に見立ててUARTモジュールに処理させただけ。

あと世の中の情報じゃ「1bitは50μs」って書かれてるページがほとんどだけど実際はもう少しだけ長くて52.6μsくらいのような気がする

Tweet about this on TwitterShare on FacebookShare on Google+

USB2PC88

PC-8801用キーボード(後期タイプ)をUSB変換してWindowsで使うためのアダプタ。

PrintScreenやらScrollLockやらいくつかのキーは存在しないのでその辺は例によってFnキー併用で対応。

usb2pc88_3

Tweet about this on TwitterShare on FacebookShare on Google+

USB2ADB 実験版Firmware 20170410

取り急ぎ置いておきます
USB2ADBの実験版ファームウェアを更新しました。以下のリンクからダウンロード可能です (DLパスワード、解凍パスワードとも共通で 「d*******t」 です)

usb2adb_20170410実験版

 

Apple Adjustable Keyboardのメディアキーに対応しました。Mute/VolumeUp/VolumeDown/Micのそれぞれのボタンに任意の機能を割り当て可能です。詳しくは添付の設定ファイル内コメントを参照して下さい。

Adjustable KeyboardのcapsLockキーはキーボード内マイコンによるソフトウェアロック制御です。Windowsで使う場合はMake/Breakコードの生成を有効にして下さい。また、LEDは正しい状態を示さない場合があります。

最下段(スペースバーの段)のキーが少なすぎてFnに使えそうなキーが無くてM0116以上に使い辛いです。テンキーパッドにFunctionキーが全部揃ってると言ってもいちいちあっちを押すのも煩わしいですし。せめてcommandキーの左右の区別があったらなぁ・・・

続きを読む

Tweet about this on TwitterShare on FacebookShare on Google+

USB2ADB 実験版Firmware 20161224

USB2ADBの実験版ファームウェアを更新しました。以下のリンクからダウンロード可能です (DLパスワード、解凍パスワードとも共通で 「d*******t」 です)

usb2adb 20161224実験版

 

より安定動作が見込めるのはサポートページで公開しているバージョンです。実験版は機能追加等の検証を目的として公開しています。現在の所、Fnキーのワンショットモデファイア化は実験版のみの実装となっています。 (逆に言えばFnキー機能以外の面では安定版との違いは全くありませんので、Fnキーを使わない方は今の所実験版を導入する意味はありません)

20161010版からの変更は、Fnキーを併用した場合にキーが押しっ放しになる不具合に対応しました。なおサポートページで公開している安定板と比べて、実験版ではより踏み込んだ対応を盛り込んでいます。

具体的にはキーが押された際に押されたキーごとにFnキーのON/OFF状態を記憶しておいて、キーが離された際はキーを押した時のFnの状態に従って開放処理を行うべきキーを決定しています。

Tweet about this on TwitterShare on FacebookShare on Google+

SMD水晶発振子のはんだ付け

表面実装タイプ(裏面4隅にパッドが存在するタイプ)の水晶発振子の俺的手はんだ方法。
無論、一番いいのはリフローなんだけど手持ちのペーストはんだが尽きてしまったので。

ターゲットはこれ

xtal_1

サイズは3.2mm×2.5mm。一応4隅のコーナーにもわずかに電極が出てるんだけど、これに期待するはんだ付けは過去に数度不良を起こしてるのでやはりちゃんと底面ではんだ付けしたいのです。

続きを読む

Tweet about this on TwitterShare on FacebookShare on Google+

直近のelecrow発注分

レジストずれ。画像の下方向にずれてる(ちなみに線幅は16mil)

elecrow_regist

こっちはシルクずれ。
ずれてる上にパッドの上に被ってる・・・

elecrow_silk

たいした基板じゃないし値段が値段なので実害が無ければそのまま使うけど。
シルクに関してはずれることを最初から前提にしておけ(あるいは前提にしておかなかった方が悪い)って感じかなぁ。シルクの品質はあまり良くないって言うのは認識してたつもりだったけど・・・

Tweet about this on TwitterShare on FacebookShare on Google+

USB2ADB 実験版Firmware 20161010

USB2ADBの実験版ファームウェアを公開します。ダウンロードは以下からどうぞ(パスワードが掛かっています。DLパスワード、解凍パスワードとも共通の「d*******t」です)

usb2adb_20161010

 

Fnキーをワンショットモデファイアキーとして使えるようにしました。例えばスペースバー左側のGravキーをFnキーとして使う場合

  • 単独で打鍵するとGravキーとして機能
  • 任意のキーと組み合わせて打鍵するとFnキーとして機能

となります。従来どおり、Fnキー専用にして使うことも可能です。

ワンショットモデファイアキーとして使用した場合、以下の制約があります。

  • 単独で打鍵した場合、キーを押しっぱなしにしてもリピートが発生しない
  • 単独で打鍵した場合、キーを「離した」タイミングでPCに「キーON&OFF」が通知される

単独打鍵か否かの判定を「Fnキーが押下されてから開放されるまでの間に他のキーの押下があったか?」という条件でチェックしており、キーが離されるまで単独打鍵か否か判断が出来ないためです。

特に弊害も無いのでFnキーの機能を使用する場合はワンショットモデファイアキーの設定をデフォルトにしてしまって良いかと思います。

なお設定ファイルの記述が少し変更になっています。詳細は設定ファイル冒頭のコメントをご覧ください。

設定の都合上Fnキーは1個しか指定出来なくなります。2個以上指定したいのでこの仕様は困る、と言う方がいましたらコメントで教えて下さい。

Tweet about this on TwitterShare on FacebookShare on Google+

Windows10で98配列USBキーボード

WIndows10をセットアップする機会があったのでついでにNECの98配列USBキーボード、PK-KB011 (VendorID 0x0409、ProductID 0x001A) の動作を確認しましたが、正直なかなか厳しい感じです

※ 2016/11/05 WIndows8.1について末尾に追記しました
※ 2016/12/22 Firefoxに関する記述を修正追記しました

日本語106/109キーボードとして認識されてしまう事がある

PCの電源ON→Windows10起動→ログオン
この直後はキーボードは日本語106/109キーボードとして認識されます。テンキーイコール、カンマは入力不可で、Ctrl+XFERでのIMEの切り替えも不可です

で、こちらにあるように一旦サインアウトし、改めてログインしなおすとキチンと98配列キーボードとして認識されるようです。

PC-KB011(NEC PC98 Series Layout USB Keyboard with Bus-Powered Hub)が 106/109キーボードとして動作してしまいます

ただしこれでも一度USBケーブルを抜いて再度挿しなおすとまた106/109キーボードの認識に戻ってしまいます。

ユニバーサルアプリで98配列キーボードとして入力出来ない

Windows10では標準のウェブブラウザEDGEやストアアプリは「ユニバーサルアプリ」という新しい仕組みで動いていますが、ユニバーサルアプリに対しては98配列キーボードとしての入力が出来ません。なぜか106/109キーボード扱いになってしまいます。ちなみにWindowsの検索窓も同様です。 Windows10標準の電卓もユニバーサルアプリのためテンキー=の入力は出来ません。

で、これはユニバーサルアプリを諦めて従来型のアプリを使えば(ブラウザならとりあえずEDGEの代わりにChromeを使うとか、電卓ならフリーのアプリで代用するとか)回避出来る訳ですが・・・

なぜかFirefoxも98配列キーボードとして入力出来ない

少なくともFirefox49も98配列キーボードとして使えず、ただの106/109キーボードとしてしか使えませんでした。Firefoxはユニバーサルアプリじゃないように見えるんですが何故・・・

仕方ないので少し古いバージョンをインストールしてこの問題を回避しています。とりあえずESR45なら98配列キーボードとして使用出来る事を確認しています。

2016/12/22追記
Firefoxの動作について記述に誤りがありましたので訂正します。
Firefox49 (49.0と49.0.2で確認) については98配列キーボードとして認識されるものの、URL欄でテンキー+とテンキー=が出来ませんでした。検索欄や入力フォーム等ではどちらのテンキーも入力出来ました。

Firefox ESR45ではURL欄でもテンキー+、テンキー=は入力出来ました。
2016/12/22時点で最新版のFirefox50.1.0でもURL欄を含めテンキー+、テンキー=とも入力は問題ありませんでした。

という訳でFirefoxについては特別な事情がない限り最新版に更新し続けていれば98配列キーボードでも問題無いようです。

 

このように、Windows10で98配列USBキーボード (VendorID 0x0409、ProductID 0x001A) を使うのはなかなか辛い状況になったと言わざるをえません。今後ストアアプリが幅を利かせるようになってくるとますます厳しい状況になると思われます。

PC-98NXのオプションとして発売されたのが約20年前。20年経過した今現在でも最新Windowsのドライバが98配列キーボード (VendorID 0x0409、ProductID 0x001A) に対応しているというのはむしろMSに感謝なのですが・・・

ユニバーサルアプリの件はもうWindowsの仕様ということで諦めますので、せめて106/109キーボード誤認の問題だけでも修正されませんかね。なんとかお願いします、MSさん

 

2016/11/05追記
Windows8.1でも同様の症状が出るとのご指摘を頂きました。当方Windows8.1環境は評価版ゆえWindowsUpdateを全くあてていないのですが、この環境だと特に問題は生じていません。となるとWindowsUpdateをあてることでWindows10相当になった故かもしれません。

貴重な情報をありがとうございました。

大変残念ですがWindowsOSの 「98配列USBキーボード」 運用は実用上Windows7まで、と言うことになるかも知れません・・・ おのれMicrosoft・・・・

Tweet about this on TwitterShare on FacebookShare on Google+