Edit in JSFiddle

//Scroll down to the end
!function(e){e.easyKey=e.easyKey||{},e.easyKey.keyCodes=e.easyKey.keyCodes||{backspace:8,tab:9,enter:13,shift:16,ctrl:17,alt:18,pause_break:19,caps_lock:20,escape:27,space:32,page_up:33,page_down:34,end:35,home:36,left_arrow:37,up_arrow:38,right_arrow:39,down_arrow:40,insert:45,"delete":46,0:48,1:49,2:50,3:51,4:52,5:53,6:54,7:55,8:56,9:57,a:65,b:66,c:67,d:68,e:69,f:70,g:71,h:72,i:73,j:74,k:75,l:76,m:77,n:78,o:79,p:80,q:81,r:82,s:83,t:84,u:85,v:86,w:87,x:88,y:89,z:90,left_window_key:91,right_window_key:92,select_key:93,numpad_0:96,numpad_1:97,numpad_2:98,numpad_3:99,numpad_4:100,numpad_5:101,numpad_6:102,numpad_7:103,numpad_8:104,numpad_9:105,multiply:106,add:107,subtract:109,decimal_point:110,divide:111,f1:112,f2:113,f3:114,f4:115,f5:116,f6:117,f7:118,f8:119,f9:120,f10:121,f11:122,f12:123,num_lock:144,scroll_lock:145,"semi_colon,":186,equal_sign:187,comma:188,dash:189,period:190,forward_slash:191,grave_accent:192,open_bracket:219,back_slash:220,close_braket:221,single_quote:222},e.easyKey.options={onKeyDown:1,onKeyUp:2,withShiftPressed:4,withControlPressed:8,withAltPressed:16},e.fn.onKey=function(n,o,y){var s=function(e){if(void 0==e)throw new Error("No option was specified");return(y&e)===e},K=function(n,o){var y=n.which;return y!=o?!1:s(e.easyKey.options.withShiftPressed)&&!n.shiftKey||!s(e.easyKey.options.withShiftPressed)&&n.shiftKey?!1:s(e.easyKey.options.withControlPressed)&&!n.ctrlKey||!s(e.easyKey.options.withControlPressed)&&n.ctrlKey?!1:s(e.easyKey.options.withAltPressed)&&!n.altKey||!s(e.easyKey.options.withAltPressed)&&n.altKey?!1:!0};return void 0==y&&(y=e.easyKey.options.onKeyDown),this.each(function(){s(e.easyKey.options.onKeyDown)&&e(this).keydown(function(e){return K(e,n)?o.call(this,e):void 0}),s(e.easyKey.options.onKeyUp)&&e(this).keyup(function(e){return K(e,n)?o.call(this,e):void 0})}),this},e.fn.onBackspaceKeyDown=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.backspace,n,e.easyKey.options.onKeyDown|o)},e.fn.onTabKeyDown=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.tab,n,e.easyKey.options.onKeyDown|o)},e.fn.onEnterKeyDown=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.enter,n,e.easyKey.options.onKeyDown|o)},e.fn.onShiftKeyDown=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.shift,n,e.easyKey.options.onKeyDown|o)},e.fn.onCtrlKeyDown=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.ctrl,n,e.easyKey.options.onKeyDown|o)},e.fn.onAltKeyDown=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.alt,n,e.easyKey.options.onKeyDown|o)},e.fn.onPauseBreakKeyDown=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.pause_break,n,e.easyKey.options.onKeyDown|o)},e.fn.onCapsLockKeyDown=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.caps_lock,n,e.easyKey.options.onKeyDown|o)},e.fn.onEscapeKeyDown=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.escape,n,e.easyKey.options.onKeyDown|o)},e.fn.onSpaceKeyDown=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.space,n,e.easyKey.options.onKeyDown|o)},e.fn.onPageUpKeyDown=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.page_up,n,e.easyKey.options.onKeyDown|o)},e.fn.onPageDownKeyDown=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.page_down,n,e.easyKey.options.onKeyDown|o)},e.fn.onEndKeyDown=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.end,n,e.easyKey.options.onKeyDown|o)},e.fn.onHomeKeyDown=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.home,n,e.easyKey.options.onKeyDown|o)},e.fn.onLeftArrowKeyDown=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.left_arrow,n,e.easyKey.options.onKeyDown|o)},e.fn.onUpArrowKeyDown=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.up_arrow,n,e.easyKey.options.onKeyDown|o)},e.fn.onRightArrowKeyDown=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.right_arrow,n,e.easyKey.options.onKeyDown|o)},e.fn.onDownArrowKeyDown=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.down_arrow,n,e.easyKey.options.onKeyDown|o)},e.fn.onInsertKeyDown=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.insert,n,e.easyKey.options.onKeyDown|o)},e.fn.onDeleteKeyDown=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes["delete"],n,e.easyKey.options.onKeyDown|o)},e.fn.on0KeyDown=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes[0],n,e.easyKey.options.onKeyDown|o)},e.fn.on1KeyDown=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes[1],n,e.easyKey.options.onKeyDown|o)},e.fn.on2KeyDown=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes[2],n,e.easyKey.options.onKeyDown|o)},e.fn.on3KeyDown=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes[3],n,e.easyKey.options.onKeyDown|o)},e.fn.on4KeyDown=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes[4],n,e.easyKey.options.onKeyDown|o)},e.fn.on5KeyDown=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes[5],n,e.easyKey.options.onKeyDown|o)},e.fn.on6KeyDown=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes[6],n,e.easyKey.options.onKeyDown|o)},e.fn.on7KeyDown=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes[7],n,e.easyKey.options.onKeyDown|o)},e.fn.on8KeyDown=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes[8],n,e.easyKey.options.onKeyDown|o)},e.fn.on9KeyDown=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes[9],n,e.easyKey.options.onKeyDown|o)},e.fn.onAKeyDown=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.a,n,e.easyKey.options.onKeyDown|o)},e.fn.onBKeyDown=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.b,n,e.easyKey.options.onKeyDown|o)},e.fn.onCKeyDown=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.c,n,e.easyKey.options.onKeyDown|o)},e.fn.onDKeyDown=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.d,n,e.easyKey.options.onKeyDown|o)},e.fn.onEKeyDown=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.e,n,e.easyKey.options.onKeyDown|o)},e.fn.onFKeyDown=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.f,n,e.easyKey.options.onKeyDown|o)},e.fn.onGKeyDown=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.g,n,e.easyKey.options.onKeyDown|o)},e.fn.onHKeyDown=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.h,n,e.easyKey.options.onKeyDown|o)},e.fn.onIKeyDown=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.i,n,e.easyKey.options.onKeyDown|o)},e.fn.onJKeyDown=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.j,n,e.easyKey.options.onKeyDown|o)},e.fn.onKKeyDown=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.k,n,e.easyKey.options.onKeyDown|o)},e.fn.onLKeyDown=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.l,n,e.easyKey.options.onKeyDown|o)},e.fn.onMKeyDown=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.m,n,e.easyKey.options.onKeyDown|o)},e.fn.onNKeyDown=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.n,n,e.easyKey.options.onKeyDown|o)},e.fn.onOKeyDown=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.o,n,e.easyKey.options.onKeyDown|o)},e.fn.onPKeyDown=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.p,n,e.easyKey.options.onKeyDown|o)},e.fn.onQKeyDown=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.q,n,e.easyKey.options.onKeyDown|o)},e.fn.onRKeyDown=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.r,n,e.easyKey.options.onKeyDown|o)},e.fn.onSKeyDown=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.s,n,e.easyKey.options.onKeyDown|o)},e.fn.onTKeyDown=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.t,n,e.easyKey.options.onKeyDown|o)},e.fn.onUKeyDown=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.u,n,e.easyKey.options.onKeyDown|o)},e.fn.onVKeyDown=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.v,n,e.easyKey.options.onKeyDown|o)},e.fn.onWKeyDown=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.w,n,e.easyKey.options.onKeyDown|o)},e.fn.onXKeyDown=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.x,n,e.easyKey.options.onKeyDown|o)},e.fn.onYKeyDown=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.y,n,e.easyKey.options.onKeyDown|o)},e.fn.onZKeyDown=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.z,n,e.easyKey.options.onKeyDown|o)},e.fn.onLeftWindowKeyDown=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.left_window_key,n,e.easyKey.options.onKeyDown|o)},e.fn.onRightWindowKeyDown=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.right_window_key,n,e.easyKey.options.onKeyDown|o)},e.fn.onSelectKeyDown=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.select_key,n,e.easyKey.options.onKeyDown|o)},e.fn.onNumpad0KeyDown=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.numpad_0,n,e.easyKey.options.onKeyDown|o)},e.fn.onNumpad1KeyDown=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.numpad_1,n,e.easyKey.options.onKeyDown|o)},e.fn.onNumpad2KeyDown=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.numpad_2,n,e.easyKey.options.onKeyDown|o)},e.fn.onNumpad3KeyDown=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.numpad_3,n,e.easyKey.options.onKeyDown|o)},e.fn.onNumpad4KeyDown=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.numpad_4,n,e.easyKey.options.onKeyDown|o)},e.fn.onNumpad5KeyDown=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.numpad_5,n,e.easyKey.options.onKeyDown|o)},e.fn.onNumpad6KeyDown=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.numpad_6,n,e.easyKey.options.onKeyDown|o)},e.fn.onNumpad7KeyDown=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.numpad_7,n,e.easyKey.options.onKeyDown|o)},e.fn.onNumpad8KeyDown=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.numpad_8,n,e.easyKey.options.onKeyDown|o)},e.fn.onNumpad9KeyDown=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.numpad_9,n,e.easyKey.options.onKeyDown|o)},e.fn.onMultiplyKeyDown=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.multiply,n,e.easyKey.options.onKeyDown|o)},e.fn.onAddKeyDown=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.add,n,e.easyKey.options.onKeyDown|o)},e.fn.onSubtractKeyDown=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.subtract,n,e.easyKey.options.onKeyDown|o)},e.fn.onDecimalPointKeyDown=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.decimal_point,n,e.easyKey.options.onKeyDown|o)},e.fn.onDivideKeyDown=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.divide,n,e.easyKey.options.onKeyDown|o)},e.fn.onF1KeyDown=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.f1,n,e.easyKey.options.onKeyDown|o)},e.fn.onF2KeyDown=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.f2,n,e.easyKey.options.onKeyDown|o)},e.fn.onF3KeyDown=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.f3,n,e.easyKey.options.onKeyDown|o)},e.fn.onF4KeyDown=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.f4,n,e.easyKey.options.onKeyDown|o)},e.fn.onF5KeyDown=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.f5,n,e.easyKey.options.onKeyDown|o)},e.fn.onF6KeyDown=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.f6,n,e.easyKey.options.onKeyDown|o)},e.fn.onF7KeyDown=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.f7,n,e.easyKey.options.onKeyDown|o)},e.fn.onF8KeyDown=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.f8,n,e.easyKey.options.onKeyDown|o)},e.fn.onF9KeyDown=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.f9,n,e.easyKey.options.onKeyDown|o)},e.fn.onF10KeyDown=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.f10,n,e.easyKey.options.onKeyDown|o)},e.fn.onF11KeyDown=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.f11,n,e.easyKey.options.onKeyDown|o)},e.fn.onF12KeyDown=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.f12,n,e.easyKey.options.onKeyDown|o)},e.fn.onNumLockKeyDown=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.num_lock,n,e.easyKey.options.onKeyDown|o)},e.fn.onScrollLockKeyDown=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.scroll_lock,n,e.easyKey.options.onKeyDown|o)},e.fn.onSemiColonKeyDown=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.semi_colon,n,e.easyKey.options.onKeyDown|o)},e.fn.onEqualSignKeyDown=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.equal_sign,n,e.easyKey.options.onKeyDown|o)},e.fn.onCommaKeyDown=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.comma,n,e.easyKey.options.onKeyDown|o)},e.fn.onDashKeyDown=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.dash,n,e.easyKey.options.onKeyDown|o)},e.fn.onPeriodKeyDown=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.period,n,e.easyKey.options.onKeyDown|o)},e.fn.onForwardSlashKeyDown=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.forward_slash,n,e.easyKey.options.onKeyDown|o)},e.fn.onGraveAccentKeyDown=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.grave_accent,n,e.easyKey.options.onKeyDown|o)},e.fn.onOpenBracketKeyDown=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.open_bracket,n,e.easyKey.options.onKeyDown|o)},e.fn.onBackSlashKeyDown=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.back_slash,n,e.easyKey.options.onKeyDown|o)},e.fn.onCloseBraketKeyDown=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.close_braket,n,e.easyKey.options.onKeyDown|o)},e.fn.onSingleQuoteKeyDown=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.single_quote,n,e.easyKey.options.onKeyDown|o)},e.fn.onBackspaceKeyUp=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.backspace,n,e.easyKey.options.onKeyUp|o)},e.fn.onTabKeyUp=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.tab,n,e.easyKey.options.onKeyUp|o)},e.fn.onEnterKeyUp=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.enter,n,e.easyKey.options.onKeyUp|o)},e.fn.onShiftKeyUp=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.shift,n,e.easyKey.options.onKeyUp|o)},e.fn.onCtrlKeyUp=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.ctrl,n,e.easyKey.options.onKeyUp|o)},e.fn.onAltKeyUp=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.alt,n,e.easyKey.options.onKeyUp|o)},e.fn.onPauseBreakKeyUp=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.pause_break,n,e.easyKey.options.onKeyUp|o)},e.fn.onCapsLockKeyUp=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.caps_lock,n,e.easyKey.options.onKeyUp|o)},e.fn.onEscapeKeyUp=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.escape,n,e.easyKey.options.onKeyUp|o)},e.fn.onSpaceKeyUp=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.space,n,e.easyKey.options.onKeyUp|o)},e.fn.onPageUpKeyUp=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.page_up,n,e.easyKey.options.onKeyUp|o)},e.fn.onPageDownKeyUp=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.page_down,n,e.easyKey.options.onKeyUp|o)},e.fn.onEndKeyUp=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.end,n,e.easyKey.options.onKeyUp|o)},e.fn.onHomeKeyUp=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.home,n,e.easyKey.options.onKeyUp|o)},e.fn.onLeftArrowKeyUp=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.left_arrow,n,e.easyKey.options.onKeyUp|o)},e.fn.onUpArrowKeyUp=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.up_arrow,n,e.easyKey.options.onKeyUp|o)},e.fn.onRightArrowKeyUp=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.right_arrow,n,e.easyKey.options.onKeyUp|o)},e.fn.onDownArrowKeyUp=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.down_arrow,n,e.easyKey.options.onKeyUp|o)},e.fn.onInsertKeyUp=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.insert,n,e.easyKey.options.onKeyUp|o)},e.fn.onDeleteKeyUp=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes["delete"],n,e.easyKey.options.onKeyUp|o)},e.fn.on0KeyUp=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes[0],n,e.easyKey.options.onKeyUp|o)},e.fn.on1KeyUp=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes[1],n,e.easyKey.options.onKeyUp|o)},e.fn.on2KeyUp=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes[2],n,e.easyKey.options.onKeyUp|o)},e.fn.on3KeyUp=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes[3],n,e.easyKey.options.onKeyUp|o)},e.fn.on4KeyUp=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes[4],n,e.easyKey.options.onKeyUp|o)},e.fn.on5KeyUp=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes[5],n,e.easyKey.options.onKeyUp|o)},e.fn.on6KeyUp=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes[6],n,e.easyKey.options.onKeyUp|o)},e.fn.on7KeyUp=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes[7],n,e.easyKey.options.onKeyUp|o)},e.fn.on8KeyUp=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes[8],n,e.easyKey.options.onKeyUp|o)},e.fn.on9KeyUp=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes[9],n,e.easyKey.options.onKeyUp|o)},e.fn.onAKeyUp=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.a,n,e.easyKey.options.onKeyUp|o)},e.fn.onBKeyUp=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.b,n,e.easyKey.options.onKeyUp|o)},e.fn.onCKeyUp=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.c,n,e.easyKey.options.onKeyUp|o)},e.fn.onDKeyUp=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.d,n,e.easyKey.options.onKeyUp|o)},e.fn.onEKeyUp=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.e,n,e.easyKey.options.onKeyUp|o)},e.fn.onFKeyUp=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.f,n,e.easyKey.options.onKeyUp|o)},e.fn.onGKeyUp=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.g,n,e.easyKey.options.onKeyUp|o)},e.fn.onHKeyUp=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.h,n,e.easyKey.options.onKeyUp|o)},e.fn.onIKeyUp=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.i,n,e.easyKey.options.onKeyUp|o)},e.fn.onJKeyUp=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.j,n,e.easyKey.options.onKeyUp|o)},e.fn.onKKeyUp=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.k,n,e.easyKey.options.onKeyUp|o)},e.fn.onLKeyUp=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.l,n,e.easyKey.options.onKeyUp|o)},e.fn.onMKeyUp=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.m,n,e.easyKey.options.onKeyUp|o)},e.fn.onNKeyUp=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.n,n,e.easyKey.options.onKeyUp|o)},e.fn.onOKeyUp=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.o,n,e.easyKey.options.onKeyUp|o)},e.fn.onPKeyUp=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.p,n,e.easyKey.options.onKeyUp|o)},e.fn.onQKeyUp=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.q,n,e.easyKey.options.onKeyUp|o)},e.fn.onRKeyUp=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.r,n,e.easyKey.options.onKeyUp|o)},e.fn.onSKeyUp=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.s,n,e.easyKey.options.onKeyUp|o)},e.fn.onTKeyUp=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.t,n,e.easyKey.options.onKeyUp|o)},e.fn.onUKeyUp=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.u,n,e.easyKey.options.onKeyUp|o)},e.fn.onVKeyUp=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.v,n,e.easyKey.options.onKeyUp|o)},e.fn.onWKeyUp=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.w,n,e.easyKey.options.onKeyUp|o)},e.fn.onXKeyUp=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.x,n,e.easyKey.options.onKeyUp|o)},e.fn.onYKeyUp=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.y,n,e.easyKey.options.onKeyUp|o)},e.fn.onZKeyUp=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.z,n,e.easyKey.options.onKeyUp|o)},e.fn.onLeftWindowKeyUp=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.left_window_key,n,e.easyKey.options.onKeyUp|o)},e.fn.onRightWindowKeyUp=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.right_window_key,n,e.easyKey.options.onKeyUp|o)},e.fn.onSelectKeyUp=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.select_key,n,e.easyKey.options.onKeyUp|o)},e.fn.onNumpad0KeyUp=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.numpad_0,n,e.easyKey.options.onKeyUp|o)},e.fn.onNumpad1KeyUp=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.numpad_1,n,e.easyKey.options.onKeyUp|o)},e.fn.onNumpad2KeyUp=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.numpad_2,n,e.easyKey.options.onKeyUp|o)},e.fn.onNumpad3KeyUp=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.numpad_3,n,e.easyKey.options.onKeyUp|o)},e.fn.onNumpad4KeyUp=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.numpad_4,n,e.easyKey.options.onKeyUp|o)},e.fn.onNumpad5KeyUp=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.numpad_5,n,e.easyKey.options.onKeyUp|o)},e.fn.onNumpad6KeyUp=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.numpad_6,n,e.easyKey.options.onKeyUp|o)},e.fn.onNumpad7KeyUp=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.numpad_7,n,e.easyKey.options.onKeyUp|o)},e.fn.onNumpad8KeyUp=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.numpad_8,n,e.easyKey.options.onKeyUp|o)},e.fn.onNumpad9KeyUp=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.numpad_9,n,e.easyKey.options.onKeyUp|o)},e.fn.onMultiplyKeyUp=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.multiply,n,e.easyKey.options.onKeyUp|o)},e.fn.onAddKeyUp=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.add,n,e.easyKey.options.onKeyUp|o)},e.fn.onSubtractKeyUp=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.subtract,n,e.easyKey.options.onKeyUp|o)},e.fn.onDecimalPointKeyUp=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.decimal_point,n,e.easyKey.options.onKeyUp|o)},e.fn.onDivideKeyUp=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.divide,n,e.easyKey.options.onKeyUp|o)},e.fn.onF1KeyUp=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.f1,n,e.easyKey.options.onKeyUp|o)},e.fn.onF2KeyUp=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.f2,n,e.easyKey.options.onKeyUp|o)},e.fn.onF3KeyUp=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.f3,n,e.easyKey.options.onKeyUp|o)},e.fn.onF4KeyUp=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.f4,n,e.easyKey.options.onKeyUp|o)},e.fn.onF5KeyUp=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.f5,n,e.easyKey.options.onKeyUp|o)},e.fn.onF6KeyUp=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.f6,n,e.easyKey.options.onKeyUp|o)},e.fn.onF7KeyUp=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.f7,n,e.easyKey.options.onKeyUp|o)},e.fn.onF8KeyUp=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.f8,n,e.easyKey.options.onKeyUp|o)},e.fn.onF9KeyUp=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.f9,n,e.easyKey.options.onKeyUp|o)},e.fn.onF10KeyUp=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.f10,n,e.easyKey.options.onKeyUp|o)},e.fn.onF11KeyUp=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.f11,n,e.easyKey.options.onKeyUp|o)},e.fn.onF12KeyUp=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.f12,n,e.easyKey.options.onKeyUp|o)},e.fn.onNumLockKeyUp=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.num_lock,n,e.easyKey.options.onKeyUp|o)},e.fn.onScrollLockKeyUp=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.scroll_lock,n,e.easyKey.options.onKeyUp|o)},e.fn.onSemiColonKeyUp=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.semi_colon,n,e.easyKey.options.onKeyUp|o)},e.fn.onEqualSignKeyUp=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.equal_sign,n,e.easyKey.options.onKeyUp|o)},e.fn.onCommaKeyUp=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.comma,n,e.easyKey.options.onKeyUp|o)},e.fn.onDashKeyUp=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.dash,n,e.easyKey.options.onKeyUp|o)},e.fn.onPeriodKeyUp=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.period,n,e.easyKey.options.onKeyUp|o)},e.fn.onForwardSlashKeyUp=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.forward_slash,n,e.easyKey.options.onKeyUp|o)},e.fn.onGraveAccentKeyUp=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.grave_accent,n,e.easyKey.options.onKeyUp|o)},e.fn.onOpenBracketKeyUp=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.open_bracket,n,e.easyKey.options.onKeyUp|o)},e.fn.onBackSlashKeyUp=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.back_slash,n,e.easyKey.options.onKeyUp|o)},e.fn.onCloseBraketKeyUp=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.close_braket,n,e.easyKey.options.onKeyUp|o)},e.fn.onSingleQuoteKeyUp=function(n,o){return e.fn.onKey.call(this,e.easyKey.keyCodes.single_quote,n,e.easyKey.options.onKeyUp|o)}}(jQuery);


var reloadResults = function(){
	$('#keyspressed').append("<p>reload</p>");
};


var previousPage = function(){
	$('#keyspressed').append("<p>previous page</p>");
};

var nextPage = function(){
	$('#keyspressed').append("<p>next page</p>");
};

var save = function(){
	$('#keyspressed').append("<p>save</p>");
  return false;
};

var printSaveComplete = function(){
	$('#keyspressed').append("<p>save complete</p>");
  return false;
}

var selectAll = function(){
	$('#keyspressed').append("<p>select all</p>");
  return false;
}

$(document)
  .onEnterKeyDown(reloadResults)
  .onLeftArrowKeyDown(previousPage)
  .onRightArrowKeyDown(nextPage)
  .onSKeyDown(save, $.easyKey.options.withControlPressed)
  .onSKeyUp(printSaveComplete, $.easyKey.options.withControlPressed)      
  .onAKeyDown(selectAll, 
    $.easyKey.options.withControlPressed 
    | $.easyKey.options.withAltPressed 
    | $.easyKey.options.withShiftPressed)  
  .onKey($.easyKey.keyCodes.i,
    function(e) { $('#keyspressed').toggleClass("highlight");}, 
    $.easyKey.options.onKeyDown | $.easyKey.options.onKeyUp);  
<p>Click this window first and then press:</p>

<ul>
  <li>Control + s</li>
  <li>Control + Shift + Alt + a</li>
  <li>i</li>
  <li>Left Arrow</li>
  <li>Right Arrow</li>
</ul>

<div id="keyspressed">

</div>