Googleギターを自動演奏しよう!(Firefoxのみ)

最近のGoogleロゴは遊べるものが出ていて、中々非常に面白いです。さっそく2chではキー入力による演奏例が登場し、力作が投稿されています。しかし、これらの力作を正確に手元で再現するのは中々難しいです。特にタイピングが苦手な僕にとっては難易度が高いです。というわけで、投稿作を自動演奏するブックマークレットをサクサクッと作ってみました。

javascript:(function(D){function cn(t){return D.createElement(t)}var dv=cn('div'),sc=cn('input'),tm=cn('input'),bn=cn('button'),lga=D.getElementById('lga');sc.size=30;tm.size=10;tm.value=100;bn.appendChild(D.createTextNode('play'));dv.appendChild(sc);dv.appendChild(tm);dv.appendChild(bn);lga.parentNode.insertBefore(dv,lga.nextSibling);bn.addEventListener('click',pl,false);function pl(){bn.disabled=true;var scs=sc.value.replace(/^\s+|\s+$/g,'').toLowerCase().split(''),ms=parseInt(tm.value,10);(function lp(){if(scs.length){var cc=scs.shift().charCodeAt(0),kc=48<=cc&&cc<=57?cc:97<=cc&&cc<=122?cc-32:0;if(kc){var e=D.createEvent('KeyboardEvent');e.initKeyEvent('keydown',true,true,null,false,false,false,false,kc,kc);D.dispatchEvent(e);}setTimeout(lp,ms);}else{bn.disabled=false;}}())}}(document))

FirefoxGoogleのギターを開いて、上記のブックマークレットを実行して下さい。演奏コードの入力枠、音間隔の入力枠、演奏実行ボタンがロゴの下に表示されます。2chまとめブログなどに掲載している奴をコピペしてやると、イイ感じに鳴ってくれます。

なお、Chromeでは動きません。initKeyboardEventでkeyCodeがうまく設定できないからです。多分、まだサポートされていないのだと思います。動かし方があれば、誰か教えてください。