HOME > 打鍵トレーナー

打鍵トレーナー

★打鍵トレーナーの特長
   1.CGI(Perl)とJavaScriptのみで動作します。
   2.IME2000登録の入力法を基本として各ローマ字入力を自動認識。
   3.ランキング登録を3タイプより選択可能。
      ・指定時間に入力できた打鍵数
      ・指定打鍵数を入力するのにかかった時間
      ・指定文数を入力する際の初速度平均
   4.同じネームでの重複ランクイン可、不可を選択できます。
     同名登録許可にすることで個人用の練習ソフトとしても使えます。(過去記録900件まで保存可!)
   5.Web上でタイピング文を作成・削除・編集できます。
   6.半角の " < > を除くほぼ全ての文字をタイピング文として使用できます。
   7.IE5x以上で動作します。
   8.個人で改造し、再配布することができます。(再配布規定はこちら)
    ※ 推奨プレイ環境 : 500Mhz以上のCPU+WindowsNT(XP)系のOS
 
    かな入力バージョンの説明はこちらへ                                  Since 2003/1/6
 
稼動例
ローマ字入力バージョン かな入力バージョン
[ 打鍵計測タイピング ] [ タイピング画面 ]
[ 打ち切りタイピング ] [ 今月のランキング ]
[ 初速平均タイピング ]
※稼動例のBackGround音源はFree音素材(WAV)「音楽室」さんよりお借りしました

★フリーCGI利用規定について
   ダウンロード前にこちらをお読みください。

★更新履歴
   v1.37  2015/2/20  Chrome、IE11でEscキーが動作しない不具合の修正。
   v1.36  2010/8/12  カタカナの「ンシ」の入力が「ンツ」で認識されてしまう不具合を修正。
                 FireFoxにて、終了時に残り時間が「1」の表示状態で終了してしまうことがある不具合の修正。
   v1.35  2010/2/11  HU-FUの変更オプションの不具合を修正。
   v1.35  2010/1/31  かな入力バージョンと機能統合。
   v1.34  2010/1/30  かな文字表示+ローマ表示同時表示対応。
                 複数の登録文を連結して1文としてタイピング文にできる機能実装。
                 打鍵数指定での打ち切りランキング機能実装。
                 文数指定での初速度平均ランキング機能実装。
                 「んっ」で始まる文字の「ん」が「NN」でしか入力できなかった不具合修正。
                 バックスペースキーで画面が戻らないように修正。
                 オプション設定が正常に反映されていなかった一部不具合の修正。
   v1.27  2010/1/22  サウンドの再生ラグを無くす為、事前に読み込むよう修正。バージョン表記はそのまま。
   v1.27  2006/5/4  オプション設定を折りたためるように修正。HPスペースへ設置しやすいようファイル構成の修正。
   v1.26  2003/9/6  キーボードガイドOFF時に苦手キー表示されないバグを修正。その他小修正。
   v1.25  2003/8/30  管理メニューにランキング削除メニューを追加。タイプ終了時の苦手キー表示追加。
                 背景の画像設定項目を追加。タイピング中のサウンド設定を追加。セキュリティ向上の為の諸変更。
   v1.20  2003/5/18  打鍵数が同じでミスが減った時にもデータ更新されるようにした。
                  基本表示文もタイピングに合わせて色変化できるようにした。
                  カタカナ文字もそのまま入力できるようにした。長文表示に対応。
                  次に入力する文字のマーキング設定を可能にした。ひと月ごとの集計期間設定を可能にした。
   v1.15  2003/2/7   rename関数が使えないサーバーでランキング更新がうまくいくように修正。
   v1.14  2003/1/29  んっ... から繋がる単語が「NNLTU」になってしまう不具合を修。
   v1.13  2003/1/27  タイピング画面でもファイルロックを効かせるようにした。入力表示部へ自動スクロール機能を追加。
   v1.11  2003/1/19  オプションで「し」「つ」の変更追加。オプション設定をクッキーで保存可能にした。
                  タイピング画面で大まかなランキングを確認できるようにした。打鍵のMax値を保存するように変更。
                  Min Maxの値が不正確になるのを修正。コメント無記入で登録した時の不具合を修正。
   v1.06  2003/1/14  オプションで「ち」の変更を追加。ミスしたときのペナルティタイムを設定できるようにした
   v1.05  2003/1/10  オプション設定変更がうまく反映されない不具合を修正
   v1.04  2003/1/8   タイピング画面に[管理用]項目追加。 「じぇ」が「jye」でしか入力できないバグ修正
   v1.01  2003/1/7   ファイルロック無しオプション追加

   ver 1.25 → ver 1.26 への移行法
       ・typing.js のみ上書き。

   ver 1.20 → ver 1.25 への移行法
       ・type.cgi rank.cgi param.cgi typing.js を上書き。

   ver 1.15 → ver 1.20 への移行法
      ・type.cgi rank.cgi param.cgi typing.js word.js つまりメインのファイル全てが更新対象です。

      注) v1.15→v1.20のverUPでは基本文の文字色変更に対応するため、ワードファイル(word.js)自体も少し変えています。
        ただし、以前のワードファイルをそのまま使うことも可能です。 param.cgi 内の $text1typeend = 0;
        に設定して使ってください。


ver 1.36 → ver 1.37 への移行法
       typing.cgi のみ入れ替えでOK。


ver 1.35 → ver 1.36 への移行法
       typing.cgi のみ入れ替えでOK。


ver 1.27 → ver 1.35 への移行法
       type.cgi typing.cgi rank.cgi param.cgi つまり保存データ以外のプログラムファイルを全て入れ替える必要があります。
       打ち切りランキング、初速度ランキングではランキング基準が変わりますので(打鍵→秒)使用する場合にはランキングファイルも
       新しく用意してください。


ver 1.26 → ver 1.27 への移行法
       ・word.js をローカルへDLし、word.cgi へ名前を変更して再度アップしてください(word.jsはファイル名変更のみで対応できます)
       ・それ以外のファイルはDLしたファイルへ置き換えてください
       ※ word.cgi と typing.cgi は type.cgi rank.cgi などと同じディレクトリに置いてください

       今回、typing.js word.js をそれぞれ typing.cgi word.cgi へとファイル名を変更し、type.cgi などと同じディレクトリで
       動作するようにしています。


★アップデート時の注意点
    アップデート前には「必ず」ランキングファイルと期間設定ファイル setup.cgi のバックアップを取るようにしてください。

    このソフトは期間設定ファイルの setup.cgi を見てランキングの繰り替えを行っています。
    現在のランキング状態を変えずにアップデートするには、ファイルアップデート後 ranking1〜12.cgi と setup.cgi を
    以前に使用していたものに置き換えてから起動するようにしてください。

★ランキングファイルについての注意点
    このソフトではランキングを表示した瞬間に過去ランキングとの繰り替え処理を行っています。

    param.cgiの日付周りの設定を変えた場合など、最初に表示する前に必ず旧ランキングファイルのバックアップを行うようにしてください。
    設定値によっては、表示した瞬間に全ての過去データがクリアされることがあります。
 




★プログラムのダウンロード
打鍵トレーナー
daken137.zip download ※かな入力バージョン統合版


   解凍した daken フォルダの中には以下のファイル&フォルダがあります。

   解凍ソフトによってはファイルサイズ 0 のファイルを削除してしまうものがあります。下に書いたファイルで
   解凍後に不足しているものがある場合は空の同名ファイルを作成してください。
      type.cgi タイピング画面用CGI
      rank.cgi ランキングその他CGI
      param.cgi 各種設定データ
      setup.cgi 集計期間格納ファイル
      typing.cgi タイピング用プログラム
      word.cgi タイピング文ファイル
      ranking1.cgi
      〜 ranking12.cgi
ランキング保存ファイル(12個:12ヶ月分)
      jcode.pl 日本語ライブラリ
      err.wav ミス時のサウンド
      img 画像格納フォルダ
      index.html ダミーファイル
 
   よろしければゲストブック
   にご記帳ください。
※バグを発見された際にもぜひご報告を!






★設置までの手順

   1.メモ帳またはテキストエディタで type.cgi と rank.cgi を編集します。
       1行目の  #!/usr/local/bin/perl
       プロバイダ指定の Perl のパスに合っているか確認し、違っていれば修正します。
       ほとんどの場合初期のパスでいいか #!/usr/bin/perl です。
       必ず1行目に入力してください。

   2.param.cgi 内の項目をを編集します。

       ------------ 一般設定項目 ------------

       $toppath = 'http://www.purasusikou.com/muras/';
         ・ホームページへのパスを指定してください。[TOP]ボタンを押したときの戻り先です。上記URLは例です。

       $adpass = '0000';
         ・管理者パスワードです。必ず変更してください(半角英数8文字以内)

       $imgdir = './img/';
         ・各種画像を格納するディレクトリ。画像ファイルを他のディレクトリへ移動したい場合に変更します。
         ※サーバーによっては静的ファイル(IMG等)とCGIファイルを分けて保管する必要があり、その場合は上記設定が必要となります。

       $lock = 1;
         ・同時アクセスによるファイル破損を防ぐファイルロック設定です。 0 でエラーが出てうまくいかない
          場合は 1 に指定してください。(0:symlink 1:mkdir 2:ロック無し)
          1 にしてもエラーが出る場合は 2 に指定してください。

       $usetimelocal = 1;
         ・Time::Local が使えないサーバー(@niftyなど)は0にします。標準は1でOK
          @niftyに設置する場合の注意事項はこちら


       ------------ ランキング初期設定 -----------

       $savemax = 900;
         ・1度の集計期間で保存するランキングデータ数。最大900位まで保存できます。

       $monthreset = 0;
         ・集計期間をひと月ごとにするかどうか 0:しない 1:する
          1にすると集計期間は毎回月始めからになります。また、次の項目 $resetday は無視されます。

       $resetday = 30;
         ・集計期間単位日数。ここで指定した日にちごとにランキングがリセットされます。

       $styear = 2010; (開始年:西暦)
       $stmon = 1;    (開始月:1-12)
       $stday = 1;     (開始日:1-31)
         ・ランキングの集計開始日を指定します。必ず設置日またはそれ以前の日付を指定してください。
          未来の日付を設定すると正常に動作しません。

       $rankfilemax = 12;
         ・現在、過去のランキングを含めたランキングログ数。この部分を増やす時には注意が必要です。
          詳しくは、ランキングログ数を変更するにはをご覧ください。

       $samename = 0;
         ・ランキング登録時に同名での複数ランクイン許可指定。 0:重複不可 1:重複可

       $newterm = 24;
         ・最近のランクインデータにnewアイコンを付ける時間指定。
          初期設定では 24 時間以内にランクインしたデータにアイコンが付きます。

       @errWord = ();
         ・使用禁止ワードの設定です。ネームやコメントなどに使われたくないワードを指定できます。
          ()内に ' ' で区切って入力してください。 「 , 」で区切ることで複数のワード指定ができます。
          例) @errWord = ('禁止ワード','これもだめ','あれもだめ');

       @errHost = ();
         ・ランキング登録禁止ホスト名、IPアドレスの指定です。@errWord と同じ書式で指定してください。
          例) @errHost = ('128.0.1.2','ad.hnet.ne.jp');

       $base_url = '';
         ・他サイトからのアクセス禁止のための設定項目です。HPアドレス又はランキング画面へのパスを指定してください。
          環境によってはうまく動作しないことがあります。
          ******/daken/rank.cgi

       ------------ タイピング初期設定 ----------

       $playmode = 0;
         ・プレイモード選択。
          0:設定時間内での打鍵数ランキング
          1:打鍵数指定での早打ちランキング
          2:初速度平均ランキング

       $playtime = 60;
         ・タイピング時間の設定(秒単位)。基本的に指定制限はありません。
          数千秒の指定でも問題なく動作します。
          $playmode = 0;の時のみ有効。

       $dakenstop = 200;
         ・打鍵数の設定。ここで設定した打鍵に到達すると終了します。
          $playmode = 1;の時のみ有効。

       $compend = 26;
         ・タイプする文数の設定。ここで設定した文数を入力完了した段階で終了します。
          $playmode = 2;の時のみ有効。

       $example = 150;
         ・あらかじめ用意しておくタイピング文数(初期値150文)
          このソフトでは事前にタイピング文の出題順番を決め、そこから1文づつ読み出す方法をとっています。
          タイピング時間を初期値より大幅に長くした場合、初期の150文例では足りなくなり、エラーが出ます。
          タイピング時間に合わせて十分な数を指定するようにしてください。

       $sort = 0;
         ・タイピング文の出題順設定。 0:ランダム順で出題 1:登録したままの文順で出題

       $joinmode = 0;
         ・文字列連結モード(登録している文を連結して→1文へ結合編集する) 0:非連結(通常) 1:連結
          $playmode = 2;の時には設定しないでください。

       $joinstr = '_';
         ・連結モード時の繋ぎ文字指定(指定なし''だと連続文字列表示)
          デフォルトの「_」指定では、画面上「_」区切りに表示されますが区切り文字を入力する必要が
          無い状態となります。

       $scroll_e = 40;
       $scroll_k = 24;
         ・1度に表示する入力文の文字数。この文字数より長い場合、タイピング中に自動スクロールします。
          $scroll_e はローマ字表示時の最大文字数
          $scroll_k はひらがな読み表示時の最大文字数
          スクロールさせたくない場合は値を大きくしてください。

       $scl_e = 16;  (ローマ字読み)
       $scl_k = 9;  (ひらがな読み)
         ・スクロールする場合の基準位置(左からの文字数で指定)

       $demerit = 0;
         ・1キーミスする毎に引かれるタイムペナルティ(ミリ秒単位)

       $text1typeend = 1;
         ・問題文をタイピング進度に合わせて色変化させるかどうか
          1:変化させる 0:変化させない
          ※管理画面で「漢字読み」登録をしていないと正常に動作しません。

       $viewflg = 0;
         ・入力文表示設定  0:ローマ字読みのみ(全て大文字英語表示)
                      1:ひらがな読み+ローマ字読み
                      2:ひらがな読みのみ

       $ji = 0;    0:JI   1:ZI
       $hu = 0;   0:HU  1:FU
       $ti = 0;    0:TI   1:CHI
       $si = 0;    0:SI   1:SHI
       $tu = 0;    0:TU  1:TSU
       $nn = 0;   0:NN   1:N
       $sya = 0;   0:SYA SYU SYO   1:SHA SHU SHO
       $tya = 0;   0:TYA TYU TYO   1:CHA CHU CHO   2:CYA CYU CYO
       $ja = 0;    0:JA JU JO      1:JYA JYU JYO   2:ZYA ZYU ZYO
         ・ローマ字読みで表示される初期値を設定します。

       $misssound = 0;
         ・入力をミスした時に鳴らすサウンドON/OFFの初期値設定。IEのみ設定が有効です。
          0:鳴らさない  1:鳴らす

       $backsound = 0;
         ・タイピング中のバックグラウンドミュージックON/OFFの初期値設定。IEのみ設定が有効です。
          0:鳴らさない  1:鳴らす

       $keyboardflg = 1;
         ・ソフトキーボードへ次に打つべきキーなどを表示するガイドのON/OFF初期値。
          0:OFF   1:ON

       $optionflg = 0;
         ・オプション設定メニューの初期表示状態を設定します。(ローマ字バージョンのみ)
          0:折りたたみ   1:展開

       $errpath = './err.wav';
         ・入力ミス時のサウンドファイル指定。標準では変更不要。
          大きなサイズのサウンドファイルを指定すると動作が重くなります。

       $backpath = '';
         ・バックグラウンドサウンドファイル指定。標準では変更不要。
          大きなサイズのサウンドファイルを指定すると動作が重くなります。

       ------------ タイピング書式設定 -----------

       $typecmt = '60秒間の打鍵数を計測します';
         ・タイピング画面上部に表示される1行コメントです。


   3.ファイルをサーバーへアップロードします。
      ファイル転送には FTP ソフトを使用します。
      FTPソフトは FFFTP がおすすめです。

      *.cgi *.jsファイルおよび *.pl ファイルは 「テキストモード」 または 「アスキーモード」 で
      画像ファイルは 「バイナリモード」 で転送します。


   4.ファイルのパーミッションを設定します。()内が設定値です。
  ファイル名 パーミッション設定値
/ daken (755) - type.cgi (755)
  - rank.cgi (755)
  - setup.cgi (666)
  - ranking1.cgi 〜 ranking12.cgi (666)
  - word.cgi (666)
  - param.cgi (644)
  - typing.cgi (644)
  - jcode.pl (644)
  - err.wav (644)
  - index.html (644)
  / img … (755)
      同じ拡張子 .cgi や .js でもパーミッション設定が違うものがありますので注意してください。
      ※パーミッションとは?


   5.ページへのリンクを記述します。
     ・タイピング画面へのリンク例
      <a href="http://〜/daken/type.cgi">打鍵トレーナー</a>

     ・ランキング画面へのリンク例
      <a href="http://〜/daken/rank.cgi?mode=show&rank=1">打鍵トレーナーランキング</a>

     ・遊び方画面へのリンク例
      <a href="http://〜/daken/rank.cgi?mode=readme">打鍵トレーナーの遊び方</a>

     上記のページのどれか1つに飛ぶようにすれば、後はページ内の相互リンクで各ページに移動できます。





★その他説明

   ・タイピング文の新規登録
      1.ランキング表示画面などで [管理用] と書かれたリンクをクリック。
      2.入室用パスワードの項目に設定したパスワードを入力し 「これでOK」 ボタンを押す。
      3.「操作内容:」 の項目が 「新規登録」 になっている状態でタイピング文を入力し 「実行」 ボタンを押す。

      その他修正や削除の方法については画面の指示に従ってください。

   ・タイピング文を一度に多数登録するには
      タイピング文を一気に登録するにはタイプ文ファイルの word.cgi を直接編集します。
      ただし、漢字の「読み」については管理画面より登録する必要があります。

      word.js をエディタなどで開くと以下のようになっています。

      view_base=new Array(
      //START>>
      //END>>
      "");
      input_base=new Array(
      //START>>
      //END>>
      "");
      advance_base=new Array(
      //START>>
      //END>>
      "");

      これに文を登録する場合 //START>> と //END>> の間に文を挿入する形になります。
      1つ目の START から END の間は基本文。2つ目の間には入力文を挿入します。

      例) 「新しい文」と「サーバー立ててみた」を登録
      view_base=new Array(
      //START>>
      "新しい文",
      "サーバー立ててみた",

      //END>>
      "");
      input_base=new Array(
      //START>>
      "あたらしいぶん",
      "サーバーたててみた",

       //END>>
      "");
      advance_base=new Array(
      //START>>
      "",
      "",
      //END>>
      "");

      文は半角の " " で囲んで最後に必ず半角 , を付けます。
      先にタイプ基本文を入力し、それを下側にコピーしてからひらがなに変えるといいかも。 ※カタカナはひらがなに直す必要がありません
      保存して、上書きアップすれば登録完了です。

   ・ランキングログ数を変更するには
      このソフトは標準で現在・過去を含めて12件分のランキングデータを保存し、後から過去のランキングとして
      見ることができます。 変更は param.cgi 内の $rankfilemax = 12; の項目を変更します。
      少なくする分には問題ありませんが、12を超えた値を設定したい場合はファイルを作成する必要があります。
      標準が12で ranking1.cgi 〜 ranking12.cgi までファイルが必要になりますので
      例えば 15 にしたい場合は足りないファイル ranking13.cgi 〜 ranking15.cgi を作成してアップしてください。
      パーミッション設定(666)も忘れずに。

   ・ランキングを全てクリヤするには
      現在・過去のランキングを全て初期化したい場合は、setup.cgi  ranking1.cgi 〜 ranking12.cgi
      中身を全て空にしてください。
      このとき、スペースや改行1つでも残らないようにしてください。正常に動作しなくなります。

   ・@niftyへの設置するには
      @niftyではCGI実行ファイルと画像やサウンドなどのファイルを別のディレクトリにしないと
      いけません。
      img フォルダをプロバイダ指定の場所へ移動してパスを指定してください。
      err.wav を移動しパスを変更します。
      また、@niftyで使用できないモジュール Time::Local をコメントアウトする必要があります。

   ・集計期間をいじったらランキングが全部クリアされてしまった。どのように設定すればよいか
      setup.cgiを個別修正して対応できます。
      例えば2010/1/1開始日指定で1ヶ月ランキングの場合、最初の起動で以下のようなデータが作成されます。

       2010<>1<>1
       2009<>12<>1<>2009<>12<>31
       2009<>11<>1<>2009<>11<>30
       2009<>10<>1<>2009<>10<>31
       2009<>9<>1<>2009<>9<>30
       2009<>8<>1<>2009<>8<>31
       2009<>7<>1<>2009<>7<>31
       2009<>6<>1<>2009<>6<>30
       2009<>5<>1<>2009<>5<>31
       2009<>4<>1<>2009<>4<>30
       2009<>3<>1<>2009<>3<>31
       2009<>2<>1<>2009<>2<>28

      それぞれ上から、ranking1.cgi〜ranking.12.cgiそれぞれのファイルに対応する日付範囲として理解してください。
      開始年<>開始月<>開始日<>終了年<>終了月<>終了日 ※最後は必ず改行入れる

      重要なのは1行目で、現在のランキングの集計開始日を示しています。
      この集計開始日からparam.cgiで設定した集計期間が過ぎていれば、現在日付の期間になるまで1期間毎にファイルを
      繰り替えていく動きになります。
      (例:ranking1.cgiのデータをranking2.cgiへコピー...を12ファイル分処理してクリアされたranking1.cgiが現在ランキングとなる)

      そのため、開始日を1年前の日付に設定した場合、初期起動処理で1年分繰り替え処理されて全部のランキングがクリアされます。
      ⇒クリアされないようにするためには、1行目の日付を現在の集計単位内に収まる日付に設定すればよいです。
       (例:今日が2010/1/20で1ヶ月単位の集計設定→2010<>1<>1であれば現在の集計期間であるため、ランキングの繰り替えが行われない)       
 
   ・エラー表示の説明
1つ以上のタイピング文を登録してください タイピング文を登録しないでスタートしようとしたときに表示されます。管理用画面に行き文を登録してください。
ローマ字変換エラー:(....)
問題文を確認してください
タイピング文の登録が間違っている時に表示されます。
()内はうまくローマ字に変換できなかった文です。
管理用画面で問題のある文を修正してください。
登録できるデータがありません 登録するタイピング記録が無いことを意味します。
このソフトはMaxで表示されているデータを保存できます。
問題文不足エラー タイプ時間を初期値より長くした時に、あらかじめ用意していた文数を超えてしまった場合に表示されます。
param.cgi 内の「タイピング初期設定」 $example = 150;
の値を大きくしてください。
タイムエラーが発生しました タイピング計測中に何らかの影響で時間が戻ってしまった時に表示されます。





★サポートについて
    HP設置についてのサポートは行いません。サーバー仕様によっては動作しないこともあります。その点ご了承ください。

    開発当時より7年ほど経過しているため、ブラウザ仕様の変更などにより今後動作しなくなる可能性があります。

    現状HPで公開している情報が全てとなりますのでよろしくお願いします。

    打鍵トレーナーについてのご意見はこちら(ゲストブック)まで





HOME > 打鍵トレーナー