スポンサーサイト
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
グリースモンキーでキーイベントの取得
さて、グリースモンキーで同じようにキーイベントを取得しようと

key_down.user.js

// ==UserScript==
// @name key_down
// @namespace http://bingobingobingo.blog49.fc2.com/
// @description about key
// @include *
// ==/UserScript==

window.onkeydown = function(e) {
alert(e.keyCode);
};

と書いても動きませんでした。

これは、グリースモンキーからはグローバルな変数にアクセスできないのが理由だそうです。


そこで、ネットの資料を参考にさせていただいて

// ==UserScript==
// @name key_down
// @namespace http://bingobingobingo.blog49.fc2.com/
// @description about key
// @include *
// ==/UserScript==

with(unsafeWindow) {
window.onkeydown = function(e) {
alert(e.keyCode);
};
}

とすると動きました。 with(unsafeWindow) { } で囲ってあげたというわけです。

うーむ unsafeWindow をJavaScript使いの相方は !!unsafeWindow みたいな形で使っていたなぁ と思い出したので、聞いてみたところ 次のソースでも動くんじゃない? とサンプルソースをくれました。


// ==UserScript==
// @name key_down
// @namespace http://bingobingobingo.blog49.fc2.com/
// @description about key
// @include *
// ==/UserScript==

if (!!unsafeWindow) {
unsafeWindow.onkeydown = function(e) {
alert(e.keyCode);
};
}



// ==UserScript==
// @name key_down
// @namespace http://bingobingobingo.blog49.fc2.com/
// @description about key
// @include *
// ==/UserScript==

if (!!unsafeWindow) {
unsafeWindow.window.onkeydown = function(e) {
alert(e.keyCode);
};
}


どちらも、動きました。 さて、どの方法がよいのやら・・・
スポンサーサイト
キーイベントの取得
グリースモンキー(Greasemonkey)が超すごいので、
JavaScript使いにJavaScriptを教わりつつ書けるようになりたいなぁ という思いで第1弾はキーイベントの取得方法から。

注:環境はFirefox この記事ではグリースモンキーは扱っていません

key_down.html

<html>
<head>
<script>
window.onkeydown = function(e) {
alert(e.keyCode);
}
</script>
</head>
<body>
</body>
</html>

↑のソースは単なるJavaScriptを含んだhtmlであるが、実行するとキーに与えられている番号を取得できる。


function(e) の引数eがものすごく気になったので、


window.onkeydown = function() {
alert(e.keyCode);
}

とeを与えないバージョンを書いてみると、なにも反応しなくなった。


また、eをhogeとして


window.onkeydown = function(hoge) {
alert(hoge.keyCode);
}

とした場合は、一番初めの例のようにうまく動作した。
結局、与える引数名は何でもよいようだが、その引数を通してkeyCodeメソッドなどのキーに関するメソッドを呼ばないとダメのようである。


なにやら 本記事の話題に上げた引数は、勝手に用意されるようだ。Javaの例外処理のときに使用される e も勝手に作られるからそれと同じようなものではないかとのこと。


>>グリースモンキーでキーイベントの取得
SENSEWAREに行ってきました
070429_1505~01.jpg



SENSEWAREなるものに行ってきました。繊維を使った作品が展示されていました。


繊維といっても、技術関係の企業が多く参加しているようです。今、パンフをざっと読み返してみても、

(株)本田技術研究所
ソニー(株)クリエイティブセンター
松下電器産業(株)パナソニックデザイン社
セイコーエプソン(株)

といった名前が載っています。


私は、デザインの勉強など積んでいませんので、入った瞬間、本田技術研究所の展示は、ただのぬいぐるみの車にしか見えませんでした。

数点見て、「こりゃわけわからんぞ」と思いつつも 展示物は上階に続いていたので歩み続けました。


そこで私は、WATER LOGOなる展示を見ました。
黒い繊維(布)に水玉で文字が描かれていました。その水玉は布から湧き出てくる水によって作られていましたので、自分の重さに耐え切れなくなった水玉が時折、下へと落ちていました。純粋にきれいでした。ナノレベルでなにやら加工されているらしく技術的にもすごそうです。

私だけでなくWATER LOGOは多くの人の目を惹いてたようでした。かなりきれいだったので、私のテンションもUP。


次に目にとまったのは、Ephyra(エフェラ)でした。これはどういうものかというと、私の身長の2倍はあろう筒状の繊維の中に、棒状の伸びる機械が入ったものでした(←説明がむずかしい・・・)。この棒なんですが、先端にセンサーがついていて触ると「バッシュー」という心地よい音とともに縮みます。 この棒が布の内部から布を押し上げながら外へと伸びるのですが、ある程度伸びると先ほど述べた「バッシュー」という心地よい音とともに縮みます。推測ですが、先端のセンサーは圧力センサーでしょう。ある程度布が伸びた時点でその布の力に負け(センサーが反応して)縮んでいるようでした。展示物の隣の説明には、「生き物の触手をあらわしている」とあったと記憶しています。私は人工知能(オセロ)をほんの3ヶ月だけかじったことがありますが(でもスーパーファミコンのあるソフトよりは強かった)、結局、コンピュータは瞬く間の速度で探索をしているだけにすぎません。今回の展示物もセンサーの反応と布の特性をうまくあわせていましたが、生物の動作を再現するのは難しい作業であると改めて感じました。



その次に目に留まったfu_fu_fu(布_浮_歩)も、WATER LOGOに続いてかなり幻想的でした。これは、天井から吊り下げられた数枚の布(超極薄繊維)をスクリーン代わりにし映像を投影したものでした。もっと大きな面積になればより幻想的になったのではないかと思います。



さて、Kaimaki: Wearable Futonという作品を見たのですが、これは繊維というものを使って、体(人体)と機械の境界線を緩和しようというテーマで作られたものであったと記憶しています。ここで私は本田技術研究所の展示を思い出しました。なるほど、無機質でゴリゴリとした鉄といったような素材から布という素材でより「やさしさ」といったものを表現しようとしているのではないかと考えたのです。その後、もう一度、本田技術研究所の展示 Composition"F" を見に行きましたが、「なぜクルマの外皮は固かったのか」とありました。



特筆しておもしろかったものは No-Constraints Carpetでした。これは、いってしまえば暖房器具なんですが、見た目がフサフサの毛で覆われたなにかの生物です。まるで大き目の犬のような。こいつ、強く握るとより暖かくなります。やはり生命を模倣しているようです。



なにやらこの展示は、(すべてがそうではないと思いますが)生命というものをテーマにしているようにも感じました。生命を模倣したものと触れることで、さみしさというものを払拭できます。私は、個人で行動することが多いですが、極度のさみしがりやです。社長だけでなく私の寂しさも何とかしてくださいw 個人的に結構楽しめました。人工無脳をやっぱり作りたいなぁ と思ったそんな展示でした。

この展示を教えてくれた某デザイナーに感謝します。
ご褒美に購入しました
気がつけばゴールデンウィーク突入です。
「1ヶ月よく頑張りました」ということで、以下のものを購入しました。


070428_1954~01.jpg


左から

プログラミング作法
まるごとJavaScript&Ajax
InterCommunication
実用Perlプログラミング

#初任給の何分の1かが吹っ飛びました

ちかくにPerl士(パーラー)がいない(発見できない)ので肩身の狭い思いをしてます。Perl士は声をかけてくれるとうれしいです。
つながったぞーーーーーーー
わが部屋にもインターネットが来たよーーーーーー

すごいよーーーーーーーーーー

Yahoo!に繋げよう
そこまでできたか
JavaScriptってココまでできるのか!?って痛感した1週間だった。
ついに購入したぞ!!!!!
ついに購入したぞ! 醤油とソースとついでに味の素を!!! これで食の幅が広がるはずだよ!!
Mozilla Party JP 8.0に参加しました
Mozilla Party JP 8.0に参加させていただきました。


JavaScript使いの相方宅で更新のため、簡潔に書きます。


SVG & canvas ←の単語、初耳でした。
E4X ←ECMAScript for XMLの略だそうです ためになるプレゼンでした

相方は残念ながら家で作業をしていたので、Mozilla Party JP 8.0の土産話のあと、なにかよいページはないか?と尋ねたところ以下を紹介してくれました。

COLLECTION & COPY
最速インターフェース研究会
JavaScript++かも日記




仕方がない
しゃーない。わりきるか。
ああ、心安らぐ
技術書を購入しました。理解できる知らないことを知るのは心安らぎます。


#誰かもう止めてくれ。
#羊やpitがオセロ開発、pascalが色々やってた理由が今、わかったよ
まだ携帯からです
もうココには書かないでおこう。もう書けないだろう。と、思ってたんですがblog書かないとストレスがたまります。ここは、私の知識交流場です。書きながら知識が整理できる。「ビンゴ中西」でエゴ検索したり、アクセス履歴を見ると少なからず私が書いたことが未だ見ぬ誰かの役に立っていたりするようです。なにより、ここのブログ使いなれてるんですよね。カスタマイズが進んでるというか。ビンゴ中西としてココでやってきたことにも思い入れがあるし。


......
......


というか、最近ホームシックです。超さみしいです。奈良帰りたいです。 わけあって、かつ個人的趣味から1日1言語体験できています。
今週は、Ruby,Python,Prolog,Scheme,Fotranに触れました。(記事を読んだだけで実行できてない言語の方が多いが...) まさか、ここへきてPrologの知識を入れれるとは...


あ、そうそう今日Good Design Good Life という展示にフラっといってみました。平野さんが受賞されたのを機にグッドデザイン賞は気になっていたので...


しかし、なんなんだこの寂しさは。
ワクワクしてええ。
ブログ検索

プロフィール

ビンゴ中西
Perlが好きである。
プログラミング言語のほとんどは独学。独学の過程で多くのプログラム仲間にも色々教わりました。

FC2カウンター

カレンダー

03 | 2007/04 | 05
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 - - - - -

ブロとも申請フォーム

この人とブロともになる

| ホーム |
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。