From 7756dea3fa0dddcba3449557858bdcc16d11f0fc Mon Sep 17 00:00:00 2001 From: nitram509 Date: Sun, 29 Jun 2014 12:51:03 +0200 Subject: [PATCH 1/2] fixed test filename according to http://definitelytyped.org/guides/contributing.html --- hellojs/{hellojs-test.ts => hellojs-tests.ts} | 0 jstree/{jstree-test.ts => jstree-tests.ts} | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename hellojs/{hellojs-test.ts => hellojs-tests.ts} (100%) rename jstree/{jstree-test.ts => jstree-tests.ts} (100%) diff --git a/hellojs/hellojs-test.ts b/hellojs/hellojs-tests.ts similarity index 100% rename from hellojs/hellojs-test.ts rename to hellojs/hellojs-tests.ts diff --git a/jstree/jstree-test.ts b/jstree/jstree-tests.ts similarity index 100% rename from jstree/jstree-test.ts rename to jstree/jstree-tests.ts From e9b80d02b55bf51c6de791b77c619855f522687e Mon Sep 17 00:00:00 2001 From: nitram509 Date: Sun, 29 Jun 2014 12:51:36 +0200 Subject: [PATCH 2/2] added Type definitions for keymaster v1.6.2, Project: https://github.com/madrobby/keymaster --- CONTRIBUTORS.md | 1 + keymaster/keymaster-tests.ts | 14 +++++++++ keymaster/keymaster.d.ts | 60 ++++++++++++++++++++++++++++++++++++ 3 files changed, 75 insertions(+) create mode 100644 keymaster/keymaster-tests.ts create mode 100644 keymaster/keymaster.d.ts diff --git a/CONTRIBUTORS.md b/CONTRIBUTORS.md index 42cdffabe..63eff9011 100644 --- a/CONTRIBUTORS.md +++ b/CONTRIBUTORS.md @@ -190,6 +190,7 @@ All definitions files include a header with the author and editors, so at some p * [jsTree](http://www.jstree.com/) (by [Adam PluciƄski](https://github.com/adaskothebeast)) * [JWPlayer](http://developer.longtailvideo.com/trac/) (by [Martin Duparc](https://github.com/martinduparc/)) * [KeyboardJS](https://github.com/RobertWHurst/KeyboardJS) (by [Vincent Bortone](https://github.com/vbortone/)) +* [keymaster.js](https://github.com/madrobby/keymaster) (by [Marting W. Kirst](https://github.com/nitram509/)) * [KineticJS](http://kineticjs.com/) (by [Basarat Ali Syed](https://github.com/basarat)) * [Knockback](http://kmalakoff.github.com/knockback/) (by [Marcel Binot](https://github.com/docgit)) * [Knockout.js](http://knockoutjs.com/) (by [Boris Yankov](https://github.com/borisyankov)) diff --git a/keymaster/keymaster-tests.ts b/keymaster/keymaster-tests.ts new file mode 100644 index 000000000..4c7cf3c5b --- /dev/null +++ b/keymaster/keymaster-tests.ts @@ -0,0 +1,14 @@ +/// + +// simple key binding without scope +key('shift+a', function (keyboardEvent: KeyboardEvent, keymasterEvent: KeymasterEvent) { +}); + +// simple key binding with scope +key('shift+b', 'aScope', (keyboardEvent, keymasterEvent) => { +}); + +// possible combinations of filtering +key.filter({target: { tagName: 'propertytest'}}); +key.filter({srcElement: { tagName: 'propertytest'}}); + diff --git a/keymaster/keymaster.d.ts b/keymaster/keymaster.d.ts new file mode 100644 index 000000000..d749f76d1 --- /dev/null +++ b/keymaster/keymaster.d.ts @@ -0,0 +1,60 @@ +// Type definitions for keymaster v1.6.2 +// Project: https://github.com/madrobby/keymaster +// Definitions by: Martin W. Kirst +// Definitions: https://github.com/borisyankov/DefinitelyTyped + +// A simple micro-library for defining and dispatching keyboard shortcuts. It has no dependencies. + +interface KeymasterEvent { + key: string; + method: KeyHandler; + mods: number[]; + scope: string; + shortcut: string; +} + +interface KeyHandler { + (keyboardEvent: KeyboardEvent, keymasterEvent: KeymasterEvent) : void; +} + +interface FilterEvent { + target?: { + tagName?: string; + } + srcElement?: { + tagName?: string; + } +} + +interface Keymaster { + + (key: string, callback: KeyHandler): void; + (key: string, scope: string, callback: KeyHandler): void; + + shift: boolean; + alt: boolean; + option: boolean; + ctrl: boolean; + control: boolean; + command: boolean; + + setScope(scopeName: string): void; + getScope():string; + deleteScope(scopeName: string): void; + + noConflict(): void; + + unbind(key: string): void; + unbind(key: string, scopeName: string): void; + + isPressed(keyCode: number): boolean; + getPressedKeyCodes(): number[]; + + filter(event: FilterEvent): void; +} + +declare var key: Keymaster; + +declare module "keymaster" { +export = key; +}