SkillAgentSearch skills...

Cheet.js

easy easter eggs (konami code, etc) for your website.

Install / Use

/learn @namuol/Cheet.js
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

cheet.js Build Status dependency Status devDependency Status

easy easter eggs in the browser

cheet('↑ ↑ ↓ ↓ ← → ← → b a', function () { alert('Voilà!'); });
cheet('i d d q d', function () {
  alert('god mode enabled');
});
cheet('o n e a t a t i m e', {
  next: function (str, key, num, seq) {
    console.log('key pressed: ' + key);
    console.log('progress: ' + num / seq.length);
    console.log('seq: ' + seq.join(' '));
  },

  fail: function () {
    console.log('sequence failed');
  },

  done: function () {
    console.log('+30 lives ;)');
  }
});
cheet('o n c e', function () {
  console.log('This will only fire once.');
  cheet.disable('o n c e');
});
var sequences = {
  cross: 'up down left right',
  circle: 'left up right down'
};

cheet(sequences.cross);
cheet(sequences.circle);

cheet.done(function (seq) {
  if (seq === sequences.cross) {
    console.log('cross!');
  } else {
    console.log('circle!');
  }
});

Demo

My personal site uses cheet.js (Try the Konami Code)

Install

Easy CDN

<script src="//cdn.rawgit.com/namuol/cheet.js/master/cheet.min.js" type="text/javascript"></script>

(Awesome free OSS hosting provided by @rgrove via rawgit)

bower

bower install cheet.js

<script src="/bower_components/cheet.js/cheet.js" type="text/javascript"></script>

component

component install namuol/cheet.js

<script src="/components/namuol-cheet.js/cheet.js" type="text/javascript"></script>

API

<a name='api_cheet'></a>

cheet(sequence, done | {next,fail,done})

Map a sequence of keypresses to a callback. This can be called multiple times.

<a name='api_cheet_sequence'></a> sequence (String)

A string representation of a sequence of key names.

Each keyname must be separated by a single space.

<a name='api_cheet_done'></a> done(str, seq) (callback)

A callback to execute each time the sequence is correctly pressed.

Arguments:

  • str - The string representation of the sequence that completed.
  • seq - An array of key names representing the sequence that completed.

<a name='api_cheet_fail'></a> fail(str, seq) (callback)

A callback to execute each time a sequence's progress is broken.

Arguments:

  • str - The string representation of the sequence that failed.
  • seq - An array of key names representing the sequence that was pressed.

<a name='api_cheet_next'></a> next(str, key, num, seq) (callback)

A callback to execute each time a correct key in the sequence is pressed in order.

Arguments:

  • str - The string representation of the sequence that is in progress.
  • key - The name of the key that was just pressed.
  • num - A number representing the current progress of the sequence. (starts at 0)
  • seq - An array of key names representing the sequence that is in progress.

<a name='api_done'></a>

cheet.done(callback)

Set a global callback that executes whenever any mapped sequence is completed successfully.

<a name='api_done_callback'></a> callback(str, seq) (callback)

A callback to execute each time any sequence is correctly pressed.

Arguments:

  • str - The string representation of the sequence that completed.
  • seq - An array of key names representing the sequence that completed.

<a name='api_next'></a>

cheet.next(callback)

Set a global callback that executes whenever any mapped sequence progresses.

<a name='api_next_callback'></a> callback(str, key, num, seq) (callback)

A callback to execute each time a correct key in any sequence is pressed in order.

Arguments:

  • str - The string representation of the sequence that is in progress.
  • key - The name of the key that was just pressed.
  • num - A number representing the current progress of the sequence. (starts at 0)
  • seq - An array of key names representing the sequence that is in progress.

<a name='api_fail'></a>

cheet.fail(callback)

Set a global callback that executes whenever any in-progress sequence is broken.

<a name='api_fail_callback'></a> callback(str, seq) (callback)

A callback to execute each time any sequence's progress is broken.

Arguments:

  • str - The string representation of the sequence that failed.
  • seq - An array of key names representing the sequence that was pressed.

<a name='api_disable'></a>

cheet.disable(sequence)

Disable a previously-mapped sequence.

<a name='api_disable_sequence'></a> sequence (String)

The same string you used to map the callback when using cheet(seq, ...).

<a name='api_reset'></a>

cheet.reset(sequence)

Resets a sequence that may or may not be in progress.

This will not cause fail callbacks to fire, but will effectively cancel the sequence.

<a name='api_reset_sequence'></a> sequence (String)

The same string you used to map the callback when using cheet(seq, ...).

Available Key Names

NOTE: Key names are case-sensitive

Directionals

  • left | L |
  • up | U |
  • right | R |
  • down | D |

Alphanumeric

  • 0-9 (main number keys)
  • a-z

Misc

  • backspace
  • tab
  • enter | return
  • shift |
  • control | ctrl |
  • alt | option |
  • command |
  • pause
  • capslock
  • esc
  • space
  • pageup
  • pagedown
  • end
  • home
  • insert
  • delete
  • equal | =
  • comma | ,
  • minus | -
  • period | .

Keypad

  • kp_0-kp_9
  • kp_multiply
  • kp_plus
  • kp_minus
  • kp_decimal
  • kp_divide

Function keys

  • f1-f12

License

MIT

Testing

From the cheet.js' root directory:

grunt test

You can also run the tests directly in your browser:

grunt test.open

Or just view them online.

Acknowledgements

Special thanks to Guilherme J. Tramontina for writing the delicious mocha/chai test suite.


cheet.js was just a fun little one-night project I made to put easter eggs on my personal site.

If you're looking for something more useful/serious, check out Mousetrap.


Analytics

View on GitHub
GitHub Stars1.3k
CategoryDevelopment
Updated3d ago
Forks71

Languages

JavaScript

Security Score

95/100

Audited on Mar 30, 2026

No findings