WEB相談室

Webページ作成に関しての何でも掲示板です。

タイトル:CGIのボタンクリックをキーボードのキーのプッシュに置き換える

0:[投稿] 作エム [2005/06/10 17:03 ][環境:WINXP Perl]

よろしくお願いいたします。

PerlでチャットのCGIを作った場合、CGI上のボタンクリックを、キーボードのキーのプッシュに
置き換えることは可能でしょうか。

マウスポインタを全く無視して、たとえばキーボードの「F1」ボタンを押すと、CGI上の
ボタンAが押された形にしたいのです。

ブラウザは専用のものを作ろうと思っています。

アドバイスをお願いいたします。


1:[回答] andi [URL] [2005/06/10 17:49 ]

CGIはサーバ側の話なのでクライアントのボタンの事は全く関係ありません。


2:[質問] 作エム [2005/06/10 18:03 ]

ということは、無理ということでしょうか。

CGIのボタンは手元のPCのマウスクリックで操作できますし、たとえば文字も入力できる訳で、なんとかなりそうに思ったのですが、やはり無理でしょうか。


3:[回答] を [2005/06/10 18:07 ]

質問です。

1.
>CGI上のボタンクリックを、キーボードのキーのプッシュに
置き換える
これは ボタンクリック → キーのプッシュ と読み取れます。

2.
>キーボードの「F1」ボタンを押すと、CGI上の ボタンAが押された形にしたい
これは キーのプッシュ → ボタンクリック と読み取れます。

どちらを実現したいのでしょうか?
※1の場合、ボタンのクリック → キーのプッシュ→キープッシュ時のイベント取得と、回りくどいような気がします。

2.に関しては、専用のブラウザを作るとのことなので、onkeydownやonkeypressライクのイベントハンドラを実装すればいいのかと思います。
また、イベント時のメソッドにclick()ライクなメソッドを実装すればよいのかと。
1に関しましては、任意のキーを押した状態にするというメソッドを聞いたことがありません。
どなたか詳しい人よろしくお願いします。


4:[回答] を [2005/06/10 18:08 ]

おっとすみません、クライアント上の話をしてしまいました。


5:[回答] andi [URL] [2005/06/10 19:09 ]

> CGIのボタンは手元のPCのマウスクリックで操作できますし、たとえば文字も入力できる訳で、
> なんとかなりそうに思ったのですが、やはり無理でしょうか。

ボタンはあくまでもCGIが吐き出したHTMLソースを「ブラウザが」置換して表示しているだけのものです。
つまりブラウザを自作するのでしたら、そのように作れば良いだけだと思いますよ。


6:[回答] 作エム [2005/06/10 20:43 ]

を さん、andiさん、ありがとうございます。

文章力不足でしたが、マウスポインタを無視して、キーボードの操作で、CGIを動かしたいのです。

> つまりブラウザを自作するのでしたら、そのように作れば良いだけだと思いますよ。

PC上のアプリを動かすのであれば、キーを割り当てればいいと思うのですが、同じ手法でいいのでしょうか。

作る前から頭だけで考えていても、解決しないので、いろいろやってみます。


7:[回答] 通りがかり。 [2005/06/10 23:18 ]

この場合、PerlやCGIやWebやHTMLなどなどはまったく関係無いですね。

andiさんの言うとおり…

>ブラウザは専用のものを作ろうと思っています。

独自のアプリを作るんでしたら、そのように作れば済むのではないでしょうか。


8:[回答] AC1号 [2005/06/11 17:24 ]

専用ブラウザ作るなら、HTTPにこだわる必要もないので、いっそのことIRCクライアントにしてしまうほうがよいと思うのですが。


9:[回答] B-Cus [2005/06/11 17:56 ]

>>0
> ブラウザは専用のものを作ろうと思っています。
この一文を素直に解釈すると、「IE や Netscape の代替品を作る」と
いうことになりますが、本当に作るつもりはありますか?

ブラウザを作る腕のある人が、こういうズレた質問をするとは考えづらい
のですけれども。


10:[回答] 作エム [MAIL] [2005/06/12 21:45 ]

お騒がせしました。

特殊な環境で使われるチャットを作る必要があって、どのような方向性で行くべきか頭の整理がつかず、相談しました。

結論から言えば、PerlのCGIと、専用ブラウザでいこうと思っています。

IRCクライアントは、CHOCOAを使おうかという考えもあって、考えたのですが、やめました。

ブラウザは、VC++ で Microsoft Web Browser を使うのであれば、アプリの新規作成から10分くらいでできてしまいます。
ActiveXです。
もちろん、アクセス先のURLをハードコーディングして、というレベルですが、メーラーをシコシコ作るのとは違います。
一度お試しあれ。



11:[回答] B-Cus [2005/06/12 21:58 ]

では普通に
 http://www.openspc2.org/reibun/javascript/mouse/051/index.html
のように event.Keycode で判別して、F1 なら
form.button.click() を実行すればいいんじゃないですか?

わたしは何か勘違いをしてますかね。


12:[回答] 通りがかり。 [2005/06/12 22:25 ]

私もCGIとF1キーが、何の関係があるかが、今だに理解できません。
CGIを、何かと勘違いしているのでしょう。

>Microsoft Web Browser

そんなこと一言も触れてませんね。
っていうか、ここに来ている回答者なら、それくらい知ってます。
「独自」と書いてあるから、みんなこうして予想しているだけで…

>どのような方向性で行くべきか頭の整理がつかず、相談しました。

質問者が方向性を定めないで、質問するなんてのは、問答無用だと思い
ますが。
回答者は占い師じゃないのですから。


13:[完了] 作エム [MAIL] [2005/06/13 05:39 ]

ありがとうございます。

前回、完了ボタンを押すつもりだったのですが、間違えました。

「勘違い」というより、私が何かを「理解していない」のは確かです。
CGI上のボタンを押す場合、通常はマウスクリックしますが、それをキーボード上のボタンのプッシュに置き換えるにはどうするのだろう、と単純に思ったのです。

とりあえずメドがたちそうなのですが、「こうしたら成功しました」と報告してもあまり意味がなさそうなので、「ボケ」のまま姿を消します。

たいへんお騒がせしまして、申し訳ありませんでした。

回答(必須): 状態:

お名前(必須):

e-mail:

URL:




[戻る]

ChaichanPAPA's World