JSFiddle - React, Tailwind, and code Playground

HTML

<div>
    Click here and press the keys
</div>

CSS

div{
    background:red;
    color: white;
}

JavaScript

(function($){
    $.fn.kb = function(evt, map, fn, options)
    {
        var _this = this;
        this.modifiers = [17, 18, 19];

        map = $.extend({ Modifiers: [], Keys: [] }, map);
        var KeysTimerKey = "KeysTimer" + map.Modifiers.join("") + map.Keys.join("");
        var KeysKeyKey = "Keys" + map.Modifiers.join("") + map.Keys.join("");

        options = $.extend({NoInput:false, Delay: 350, PreventDefault:false}, options);

        var specialKeys = { 27: 'esc', 9: 'tab', 32:'space', 13: 'return', 8:'backspace', 145: 'scroll', 
            20: 'capslock', 144: 'numlock', 19:'pause', 45:'insert', 36:'home', 46:'del',
            35:'end', 33: 'pageup', 34:'pagedown', 37:'left', 38:'up', 39:'right',40:'down', 
            109: '-', 
            112:'f1',113:'f2', 114:'f3', 115:'f4', 116:'f5', 117:'f6', 118:'f7', 119:'f8', 
            120:'f9', 121:'f10', 122:'f11', 123:'f12', 191: '/'};

        var FromCharCode = 
            function(code)
            {
                if (specialKeys[code] != undefined)
                    return specialKeys[code];

                return String.fromCharCode(code);
            };

        this.bind
        (
            evt,
            function(e)
            {
                if (_this.modifiers.indexOf(e.keyCode) == -1)
                {
                    if (options.NoInput && ["input", "textarea"].indexOf(e.target.tagName.toLowerCase()) > -1) return;

                    var ctrl = map.Modifiers.join("$").match(/ctrl/i) != null;
                    var shift = map.Modifiers.join("$").match(/shift/i) != null;
                    var alt = map.Modifiers.join("$").match(/alt/i) != null;
                    
                    if (e.ctrlKey == ctrl &&
                        e.altKey == alt &&
                        e.shiftKey == shift)
                    {
                        var key = FromCharCode(e.keyCode);
                        if (((e.ctrlKey || e.altKey || e.shiftKey) || specialKeys[e.keyCode]...