node package manager

konami-code-js

KonamiCodeJS

Fire a JavaScript Event when you enter the « Up Up Bottom Bottom Left Right Left Right B A » Konami Code Sequence with your keyboard. That work also when you do the following touch gesture « Up Up Bottom Bottom Left Right Left Right Tap Tap » with your finger.


Vous êtes français ? Le README derrière ce lien vous sera peut-être plus agréable.

Basic Usage

new KonamiCode(function () {
    // Do something here. 
    // This part will be executed if « Up Up Down Down Left Right Left Right B A » 
    // is recognised from Keyboard or Touch Gesture. 
});

Custom Example

In this example, we will authorized only the area of <article> to listening Konami Code Sequence and after fire the Correct Sequence, avoid next Konami Code recognization.

var kc = new KonamiCode({
    listener: document.getElementsByTagName("article")[0]
});
 
kc.setCallback(function () {
    kc.disable();
 
    // Do something here. 
    // This part will be executed if « Up Up Down Down Left Right Left Right B A » 
    // is recognised from Keyboard or Touch Gesture. 
});

API Documentation

Version: 0.8.0

Author: Bruno Lesieur

new KonamiCode([options])

Create Konami Code Sequence recognition « Up Up Bottom Bottom Left Right Left Right B A » on specific HTMLElement or on global HTMLDocument.

Param Type Description
[options] Object | function Container for all options. If type of options is Function, it is executed after Konami Code Sequence has been recognize.
[options.callback] function If options is not a Function, options.callback is executed after Konami Code Sequence has been entered. The first parameter provided by the callback is current instance of KonamiCode.
[options.listener] Node By default it is the HTMLDocument window.document. You can pass some HTMLElement like <input> (HTMLInputElement) to only recognize Konami Code Sequence from this element.
[options.debug] boolean By default it is set to false. When you set this value to true, that allows you to see all debug message in the console.

konamiCode.enable() ⇒ KonamiCode

Active the listening of Konami Code Sequence.

Kind: instance method of KonamiCode

Returns: KonamiCode - Current instance of KonamiCode

konamiCode.enableKeyboardKeys() ⇒ KonamiCode

Active the listening of Konami Code Sequence for Keyboard Keys.

Kind: instance method of KonamiCode

Returns: KonamiCode - Current instance of KonamiCode

konamiCode.enableTouchGesture() ⇒ KonamiCode

Active the listening of Konami Code Sequence for Touch Gesture.

Kind: instance method of KonamiCode

Returns: KonamiCode - Current instance of KonamiCode

konamiCode.disable() ⇒ KonamiCode

Unactive the listening of Konami Code Sequence.

Kind: instance method of KonamiCode

Returns: KonamiCode - Current instance of KonamiCode

konamiCode.disabledKeyboardKeys() ⇒ KonamiCode

Unactive the listening of Konami Code Sequence for Keyboard Keys.

Kind: instance method of KonamiCode

Returns: KonamiCode - Current instance of KonamiCode

konamiCode.disabledTouchGesture() ⇒ KonamiCode

Unactive the listening of Konami Code Sequence for Touch Gesture.

Kind: instance method of KonamiCode

Returns: KonamiCode - Current instance of KonamiCode

konamiCode.setListener(listener) ⇒ KonamiCode

Change the listener. The old listener will no longer work. Note: change the listener enable this instance if it is previously disable().

Kind: instance method of KonamiCode

Returns: KonamiCode - Current instance of KonamiCode

Param Type Description
listener Node You can pass some HTMLElement like <input> (HTMLInputElement) to only recognize Konami Code Sequence from this element.

konamiCode.setCallback(callback) ⇒ KonamiCode

Change the Function executed after Konami Code Sequence has been entered.

Kind: instance method of KonamiCode

Returns: KonamiCode - Current instance of KonamiCode

Param Type Description
callback function Function executed after Konami Code Sequence has been entered. The first parameter provided by the callback is current instance of KonamiCode.

Example

new KonamiCode().setCallback(function (konamiCode) {
    konamiCode.disable();
    // Do something here. 
});

konamiCode.setOptions([options]) ⇒ KonamiCode

Change options of instance currently existing.

Kind: instance method of KonamiCode

Returns: KonamiCode - Current instance of KonamiCode

Param Type Description
[options] Object Container for all options.
[options.callback] function Function executed after Konami Code Sequence has been entered. The first parameter provided by the callback is current instance of KonamiCode.
[options.listener] Node By default it is the HTMLDocument window.document. You can pass some HTMLElement like <input> (HTMLInputElement) to only recognize Konami Code Sequence from this element.
[options.debug] boolean By default it is set to false. When you set this value to true, that allows you to see all debug message in the console.

KonamiCode.noConflict()

If a previous KonamiCode variable exist into global environment, you could kept it by changing name of current KonamiCode. You can also just use that function to change the name of Global « KonamiCode » variable.

Kind: static method of KonamiCode

Example

<script src="other/konami-code.js"></script>
<script src="last/konami-code.js"></script>
<script>
    var MyKC = KonamiCode.noConflict();
    console.log(KonamiCode); // Return the other KonamiCode 
    console.log(MyKC); // Return your KonamiCode 
</script>

KonamiCode.getNumberOfInstance() ⇒ number

Return the number of time KonamiCode was instanciated.

Kind: static method of KonamiCode

Returns: number - Number of KonamiCode instance create from begining.

Chaining

All API instanciated methods return the current instance of KonamiCode Object. That allows you to use instance like this.

new KonamiCode()
    .disable()
    .enable()
    .setListener(document.getElementsByTagName("body")[0])
    .setCallback(function (konamiCode) {
        konamiCode.disable();
        // Do something here. 
        // This part will be executed if « Up Up Down Down Left Right Left Right B A » 
        // is recognised from Keyboard or Touch Gesture. 
    });

Debug Mode

You can see what step are used with console log message.

new KonamiCode({
    debug: true,
    callback: function (konamiCode) {
        konamiCode.disable();
    }
});

Import JavaScript File

By Direct Download

From NPM

npm install konami-code-js

From CDN

  • For development:
<script src="https://rawgit.com/Haeresis/konami-code-js/master/src/konami-code.js"></script>
  • For production:
<script src="https://cdn.rawgit.com/Haeresis/konami-code-js/master/src/konami-code.js"></script>

With AMD Loader

<script src="require.js"></script>
<script>
    requirejs(["konami-code"], function (KonamiCode) {
        new KonamiCode(function () {
         // Do something here. 
            // This part will be executed if « Up Up Down Down Left Right Left Right B A » 
            // is recognised from Keyboard or Touch Gesture. 
        });
    });
</script> 

With CommonJS Loader

var KonamiCode = require("konami-code");
 
new KonamiCode(function () {
    // Do something here. 
    // This part will be executed if « Up Up Down Down Left Right Left Right B A » 
    // is recognised from Keyboard or Touch Gesture. 
});