konami.html revision 011173392d3a1a59092095d5a24857134cb16f93
78cd73fcf63ea9fd6539e0abe051e64705dfb532Kay Sievers<!doctype html>
78cd73fcf63ea9fd6539e0abe051e64705dfb532Kay Sievers<html>
78cd73fcf63ea9fd6539e0abe051e64705dfb532Kay Sievers<head>
78cd73fcf63ea9fd6539e0abe051e64705dfb532Kay Sievers <title>Test Page</title>
78cd73fcf63ea9fd6539e0abe051e64705dfb532Kay Sievers <style type="text/css">
762f91fa600b3b2887e3b088cd700216a85e3c81Kay Sievers div {
78cd73fcf63ea9fd6539e0abe051e64705dfb532Kay Sievers margin: 1em 0;
71092d70af35567dd154d3de2ce04ce62e157a7cLennart Poettering }
78cd73fcf63ea9fd6539e0abe051e64705dfb532Kay Sievers </style>
78cd73fcf63ea9fd6539e0abe051e64705dfb532Kay Sievers</head>
e01a15b71e18bf2008aec7e75041ffa42eb80b80Kay Sievers<body class="yui-skin-sam">
e01a15b71e18bf2008aec7e75041ffa42eb80b80Kay Sievers<input type="text" value="" id="k"><label for="k">&lt;-- up,up,dn,dn,l,r,l,r,b,a</label>
ebcd5d3acd4c470668bbcd945a5aa42f0af5ccf0Kay Sievers<ul id="output"></ul>
ebcd5d3acd4c470668bbcd945a5aa42f0af5ccf0Kay Sievers
80037e4d17d0c8f28d0ff610902babc9e2b4e2f9Kay Sievers<script src="/build/yui/yui.js"></script>
ebcd5d3acd4c470668bbcd945a5aa42f0af5ccf0Kay Sievers<!--
7c66aeba0f28cb82027d6015405ed71afa3b6059Kay Sievers<script src="http://yui.yahooapis.com/3.2.0/build/yui/yui-min.js"></script>
7c66aeba0f28cb82027d6015405ed71afa3b6059Kay Sievers<script src="/build/event/event-synthetic.js"></script>
c904f64d84db8c4eebedf210ba10893f19ba05edLennart Poettering-->
c904f64d84db8c4eebedf210ba10893f19ba05edLennart Poettering<script>
05677bb78079c3fa0283101aac2c07581f4873f1Lennart PoetteringYUI({
73090dc815390f4fca4e3ed8a7e1d3806605daaaLennart Poettering useBrowserConsole: false,
71092d70af35567dd154d3de2ce04ce62e157a7cLennart Poettering filter: 'raw'
ddd88763921a1534081ed28e36f6712a85449005Lennart Poettering}).use('event-synthetic', function (Y) {
f957632b960a0a42999b38ded7089fa602b41745Kay Sievers
f957632b960a0a42999b38ded7089fa602b41745Kay SieversY.on('yui:log', function (e) {
f957632b960a0a42999b38ded7089fa602b41745Kay Sievers Y.one("#output").append("<li>" + e.msg + "</li>");
f957632b960a0a42999b38ded7089fa602b41745Kay Sievers});
9a36607584bbd1d78775353e022a51794b4e27b1Lennart Poettering
9a36607584bbd1d78775353e022a51794b4e27b1Lennart PoetteringY.Event.define('konami', {
a40593a0d0d740efa387e35411e1e456a6c5aba7Lennart Poettering on: function (node, sub, ce) {
20ffc4c4a9226b0e45cc02ad9c0108981626c0bbKay Sievers var guid = Y.guid();
71092d70af35567dd154d3de2ce04ce62e157a7cLennart Poettering
78cd73fcf63ea9fd6539e0abe051e64705dfb532Kay Sievers node.on(guid + '|keydown', function (e) {
78cd73fcf63ea9fd6539e0abe051e64705dfb532Kay Sievers
78cd73fcf63ea9fd6539e0abe051e64705dfb532Kay Sievers Y.log(e.keyCode);
78cd73fcf63ea9fd6539e0abe051e64705dfb532Kay Sievers
78cd73fcf63ea9fd6539e0abe051e64705dfb532Kay Sievers if (e.keyCode === sub.keys[sub.progress]) {
07f74a7ebde5acf098ab72dc49a3371731ffb476Lennart Poettering if (++sub.progress === sub.keys.length) {
680705351da905b6e797be61b51e6cba275b1ea5Lennart Poettering ce.fire();
680705351da905b6e797be61b51e6cba275b1ea5Lennart Poettering ce.detach(sub.fn, sub.context);
ec8927ca5940e809f0b72f530582c76f1db4f065Lennart Poettering }
ec8927ca5940e809f0b72f530582c76f1db4f065Lennart Poettering } else {
ec8927ca5940e809f0b72f530582c76f1db4f065Lennart Poettering sub.progress = 0;
1afd5be42f8f4105dd47c71ce968c9d5bf81e0a8Lennart Poettering }
7b63bde1ed0d4f30c799c9b4737fa926465929f9Lennart Poettering });
7b63bde1ed0d4f30c799c9b4737fa926465929f9Lennart Poettering
06e2968ea6e3d8f90eb715b4a8e8a43b3d7449abLennart Poettering Y.mix(sub,{
06e2968ea6e3d8f90eb715b4a8e8a43b3d7449abLennart Poettering progress : 0,
06e2968ea6e3d8f90eb715b4a8e8a43b3d7449abLennart Poettering keys : [38,38,40,40,37,39,37,39,66,65],
06e2968ea6e3d8f90eb715b4a8e8a43b3d7449abLennart Poettering keys : [38,38,40,40,37,39,37,39,66,65],
5b40d33761376354116a8cddb9b9fbdb6c4727d6Lennart Poettering _evtGuid : guid
5b40d33761376354116a8cddb9b9fbdb6c4727d6Lennart Poettering });
f7f21d33db5dfe88dc8175c61dada44013347729Lennart Poettering },
f7f21d33db5dfe88dc8175c61dada44013347729Lennart Poettering detach: function (node, sub, ce) {
1ab27db89064b7f9f2f6d50566642fce803a2617Lennart Poettering node.detach(sub._evtGuid + '|*');
1ab27db89064b7f9f2f6d50566642fce803a2617Lennart Poettering }
27b5482cc08b7fac1b6b15d980d42ae04f3ae1caLennart Poettering});
27b5482cc08b7fac1b6b15d980d42ae04f3ae1caLennart Poettering
27b5482cc08b7fac1b6b15d980d42ae04f3ae1caLennart PoetteringY.one('#k').on('konami', function (e) {
27b5482cc08b7fac1b6b15d980d42ae04f3ae1caLennart Poettering Y.one('#output').append('<li>UNICORNS!</li>');
b86fa936ce36976cd6a96034cf14ea267695bcb2Lennart Poettering});
b86fa936ce36976cd6a96034cf14ea267695bcb2Lennart Poettering
b86fa936ce36976cd6a96034cf14ea267695bcb2Lennart Poettering});
b86fa936ce36976cd6a96034cf14ea267695bcb2Lennart Poettering</script>
b86fa936ce36976cd6a96034cf14ea267695bcb2Lennart Poettering</body>
b86fa936ce36976cd6a96034cf14ea267695bcb2Lennart Poettering</html>
b86fa936ce36976cd6a96034cf14ea267695bcb2Lennart Poettering