
概要
これは、エレキーのパドル(マニピュレータ)の操作をエミュレートするソフトウェアです。Windowsのコンソールで動作します(CUIアプリケーション)。
主に、メモリキーヤ(エレキーのメモリ機能)への登録(録音)で使用することを想定しています。出力はCOMポートのRTSとDTR信号です。エレキー装置に接続するには、この信号に対応したハードウェアが必要です。RTSとDTRを使うだけですので、簡単に自作できます。また、ほぼ専用ハードウェアとも言えるDCPA03も用意しています。
下は、ディスプレイ付きのエレキー(K3NG CW Keyer)をこのソフトウェアで操作している様子です。15、25、6、35、59WPMで動かしています。
仕様
- 動作環境: Windows(Windows 10 Pro 64bitで動作確認)
- 必要なハードウェア要件: COMポートのRTSとDTR信号(この信号線でパドルを操作)
- キーイング速度: 5~60WPM(ただし、42WPMより上は刻みが粗い)
- 対応文字: 英字、数字、いくつかの記号
- マクロ機能あり
なお、WindowsはリアルタイムOSではないので正確な時間管理はできません。そのため、多少の打鍵ミスが生じます(キーイング速度とは無関係ですが、速いほうがミスしやすい傾向です)。メモリキーヤへの登録の際は、正しく登録できたことを必ず確認し、もし打鍵ミスがあれば登録し直してください。
【関連記事】
ダウンロード
以下のリンクからダウンロードできます。
ZIPを展開すると、実行形式(exe)とソースコード(cpp)があります。インストーラ等はありません。そのまま動作します。
ソースコードの著作権は放棄しませんが、自由に使っていただいて結構です。より良いものを作って公開してくださることを期待します。和文や他の言語への拡張も難しくはないはずです。初めてのVC++で、いきあたりばったりで書いたのでおかしなところも少なくないだろうと思います。他のOSへのポーティングも大歓迎です。どなたかやって公開してください。
無料で公開しますが、投げ銭は大歓迎です。Amazonギフト券なら15円から送れます(1円単位で設定可能)。下の「ほしい物リスト」から送ってもらえると私に届きます。
使い方
CUIアプリケーションですので、コマンドプロンプト(Windowsコマンドプロセッサ)内で使います。実行形式(pdem.exe)を置いたフォルダをエクスプローラで開き、そのアドレスバーに「cmd」と打ち込んでEnterを押すのが簡単です。

起動
起動時の引数で様々な指定ができますが、最低限必要なのはCOMポートの番号です。例えば、COM8の場合は、「pdem」に続けて「8」と指定します。

COMポートが開けない場合は起動しません(エラーで終了します)。
キーイング速度
起動時に、COMポート番号に続けてキーイングスピードを指定することもできます。例えば、20WPMの場合は「20」と入力します。

アプリケーション起動後に変更することも可能です。「!s」コマンドで指定します。

エレキーの速度と一致させてください。
この先はオマケです。重要ではないので、読み飛ばしてOKです。
スピードの指定は、WPMの他に、短点の時間(ms)でも指定できます(実用性は低いとは思いますが)。数字の後ろに「m」を付けます。

さらに、「i」を付けると、文字間隔を若干伸ばします。打鍵ミスが多い場合はこれで状況が変わるかもしれません(変らないかもしれません)。

信号ピン指定
起動時のオプションで短点・長点出力信号の割当てを指定もできます。ハードウェアはこちらを想定しており、RTSがプラグのTip、DTRがRingにに接続されています。

この指定は速度のあとに続けて入力します。短点をTip、頂点をRingに割り当てる場合は「rt」、その逆は「tr」と入力します。

起動後に「!p」コマンドで変更することもできます。

一つだけ指定する(または、二つとも同じものを指定する)と両方が同じ信号で出力されます(ストレートキーモード)。

エコーバック
「!echo」コマンドを使うと送出する文字を送出タイミングでエコーバックさせられます。また、「!echocode」と指定すると、モールス符号も表示します。エコーバックをやめるには「!noecho」と入力します。

COMポート変更
「!com」コマンドでCOMポートを変更することができます。

状態確認
現在の状態は「!status」コマンドで表示できます。

信号送出
すでに「!echo」コマンドのところで見たように、文字を入力してEnterを押すとその文字を送出します。大文字でも小文字でも構いません。

「VA」のように文字間隔なしでつなげる場合は、「~」を付けます。エコーバックには「~」は表示されません。

送出中止
信号の送出を強制終了させるには「Ctrl+C」を押します。ただし、入力待ち状態でCtrl+Cを押すとアプリケーション自体が終了します。送信中止のためにCtrl+Cを連打するとアプリケーションの終了になる可能性が高いので注意してください。
マクロ
#、$、%、&、|に複数の文字を割り当てることができます。「!」に続けてマクロを設定する文字、文字列を指定します。

現在の設定内容は「!macro」コマンドで確認できます。

|には予めテスト用の文字列を設定しています。上書き可能です。
また、起動時に引数で設定することも可能です。空白を含む場合は、ダブルクォーテーションでくくります。

※キーイング速度やピン割当ても同時に指定することもできます(省略することもできます)。
ヘルプ
「!help」で使い方を表示します。

起動時に「pdem」とだけ入力した場合(COMポート番号を指定しなかかった場合)もこのヘルプメッセージを表示します。
終了
アプリケーションを終了するには、「!q」コマンドです。

「!quit」、「!exit」でもOKです。
注意・制限等
起動時に、A、または、Nが入力されますが、これはCOMポートを初期化する際の副作用です(両方の出力端子に一瞬信号が出力される)。
エレキーの速度と当アプリケーションの速度を合せてください。ディスプレイ付きのエレキーならその数字を確認してください。ディスプレイがないエレキーの場合は実際に打鍵してミスが少なくなるところを見つけてください。慣れている文字列だと判断しやすいと思います(マクロを活用するとやりやすいと思います)。
両者の速度を合せても打鍵ミスが多い場合は、速度を少し変えてみてください。エレキー側でも当アプリ側でもどちらを変えても構いません。
打鍵ミスをゼロにすることはできません。ご了承ください。