@flighthq/input 0.5.1-next.1295.2b6bfa3 → 0.5.1-next.1345.0995dc5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/dist/contract.d.ts +1 -1
- package/dist/contract.d.ts.map +1 -1
- package/dist/contract.js +1 -1
- package/dist/contract.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/inputManager.d.ts +2 -30
- package/dist/inputManager.d.ts.map +1 -1
- package/dist/inputManager.js +11 -636
- package/dist/inputManager.js.map +1 -1
- package/package.json +4 -4
- package/src/index.test.ts +18 -0
- package/src/inputManager.test.ts +137 -808
package/README.md
CHANGED
|
@@ -13,5 +13,5 @@ Import the supported application-facing API from `@flighthq/input`. The `@flight
|
|
|
13
13
|
This package is part of the locked-version Flight SDK graph. Applications may instead install and import `@flighthq/sdk` when package-level tree shaking is sufficient.
|
|
14
14
|
|
|
15
15
|
- [Flight project](https://github.com/flighthq/flight)
|
|
16
|
-
- [Source for @flighthq/input@0.5.1-next.
|
|
17
|
-
- [License](https://github.com/flighthq/flight/blob/
|
|
16
|
+
- [Source for @flighthq/input@0.5.1-next.1345.0995dc5](https://github.com/flighthq/flight/tree/0995dc5f840e6b57c3e85ecd2123aa798cf60b29/packages/input)
|
|
17
|
+
- [License](https://github.com/flighthq/flight/blob/0995dc5f840e6b57c3e85ecd2123aa798cf60b29/LICENSE.md)
|
package/dist/contract.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
export * from './inputManager';
|
|
2
|
-
export { initializeInputKeyRepeatTimer, initializeInputManager, initializeInputSignals, initializeInputState,
|
|
2
|
+
export { initializeInputKeyRepeatTimer, initializeInputManager, initializeInputSignals, initializeInputState, } from './inputManager';
|
|
3
3
|
//# sourceMappingURL=contract.d.ts.map
|
package/dist/contract.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,OAAO,EACL,6BAA6B,EAC7B,sBAAsB,EACtB,sBAAsB,EACtB,oBAAoB,
|
|
1
|
+
{"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,OAAO,EACL,6BAA6B,EAC7B,sBAAsB,EACtB,sBAAsB,EACtB,oBAAoB,GACrB,MAAM,gBAAgB,CAAC"}
|
package/dist/contract.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
export * from './inputManager';
|
|
2
|
-
export { initializeInputKeyRepeatTimer, initializeInputManager, initializeInputSignals, initializeInputState,
|
|
2
|
+
export { initializeInputKeyRepeatTimer, initializeInputManager, initializeInputSignals, initializeInputState, } from './inputManager';
|
|
3
3
|
//# sourceMappingURL=contract.js.map
|
package/dist/contract.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract.js","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,OAAO,EACL,6BAA6B,EAC7B,sBAAsB,EACtB,sBAAsB,EACtB,oBAAoB,
|
|
1
|
+
{"version":3,"file":"contract.js","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,OAAO,EACL,6BAA6B,EAC7B,sBAAsB,EACtB,sBAAsB,EACtB,oBAAoB,GACrB,MAAM,gBAAgB,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { applyGamepadAxisDeadZone, applyGamepadStickDeadZone, attachGamepadInput, attachKeyboardInput, attachPointerInput, attachRelativePointerInput, attachTextInput, attachWheelInput, connectInputStateToInputManager, createInputKeyRepeatTimer, createInputManager, createInputState, detachGamepadInput, detachKeyboardInput, detachPointerInput, detachRelativePointerInput, detachTextInput, detachWheelInput, endInputStateFrame,
|
|
1
|
+
export { applyGamepadAxisDeadZone, applyGamepadStickDeadZone, attachGamepadInput, attachKeyboardInput, attachPointerInput, attachRelativePointerInput, attachTextInput, attachWheelInput, connectInputStateToInputManager, createInputKeyRepeatTimer, createInputManager, createInputState, detachGamepadInput, detachKeyboardInput, detachPointerInput, detachRelativePointerInput, detachTextInput, detachWheelInput, endInputStateFrame, getGamepadAxisName, getGamepadButtonName, getInputGamepadAxis, isInputGamepadButtonDown, isInputKeyDown, isInputPointerButtonDown, wasInputGamepadButtonPressed, wasInputGamepadButtonReleased, wasInputKeyPressed, wasInputKeyReleased, } from './contract';
|
|
2
2
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,wBAAwB,EACxB,yBAAyB,EACzB,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,0BAA0B,EAC1B,eAAe,EACf,gBAAgB,EAChB,+BAA+B,EAC/B,yBAAyB,EACzB,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,0BAA0B,EAC1B,eAAe,EACf,gBAAgB,EAChB,kBAAkB,EAClB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,wBAAwB,EACxB,yBAAyB,EACzB,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,0BAA0B,EAC1B,eAAe,EACf,gBAAgB,EAChB,+BAA+B,EAC/B,yBAAyB,EACzB,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,0BAA0B,EAC1B,eAAe,EACf,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,EACpB,mBAAmB,EACnB,wBAAwB,EACxB,cAAc,EACd,wBAAwB,EACxB,4BAA4B,EAC5B,6BAA6B,EAC7B,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,YAAY,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { applyGamepadAxisDeadZone, applyGamepadStickDeadZone, attachGamepadInput, attachKeyboardInput, attachPointerInput, attachRelativePointerInput, attachTextInput, attachWheelInput, connectInputStateToInputManager, createInputKeyRepeatTimer, createInputManager, createInputState, detachGamepadInput, detachKeyboardInput, detachPointerInput, detachRelativePointerInput, detachTextInput, detachWheelInput, endInputStateFrame,
|
|
1
|
+
export { applyGamepadAxisDeadZone, applyGamepadStickDeadZone, attachGamepadInput, attachKeyboardInput, attachPointerInput, attachRelativePointerInput, attachTextInput, attachWheelInput, connectInputStateToInputManager, createInputKeyRepeatTimer, createInputManager, createInputState, detachGamepadInput, detachKeyboardInput, detachPointerInput, detachRelativePointerInput, detachTextInput, detachWheelInput, endInputStateFrame, getGamepadAxisName, getGamepadButtonName, getInputGamepadAxis, isInputGamepadButtonDown, isInputKeyDown, isInputPointerButtonDown, wasInputGamepadButtonPressed, wasInputGamepadButtonReleased, wasInputKeyPressed, wasInputKeyReleased, } from './contract';
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,wBAAwB,EACxB,yBAAyB,EACzB,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,0BAA0B,EAC1B,eAAe,EACf,gBAAgB,EAChB,+BAA+B,EAC/B,yBAAyB,EACzB,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,0BAA0B,EAC1B,eAAe,EACf,gBAAgB,EAChB,kBAAkB,EAClB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,wBAAwB,EACxB,yBAAyB,EACzB,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,0BAA0B,EAC1B,eAAe,EACf,gBAAgB,EAChB,+BAA+B,EAC/B,yBAAyB,EACzB,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,0BAA0B,EAC1B,eAAe,EACf,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,EACpB,mBAAmB,EACnB,wBAAwB,EACxB,cAAc,EACd,wBAAwB,EACxB,4BAA4B,EAC5B,6BAA6B,EAC7B,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,YAAY,CAAC"}
|
package/dist/inputManager.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { AttachInputOptions,
|
|
1
|
+
import type { AttachInputOptions, GamepadAxisKind, GamepadButtonKind, GamepadMappingKind, HostInputIngressProvider, InputIngressSource, InputKeyRepeatOptions, InputKeyRepeatTimer, InputManager, InputSignals, InputState, EntityConstruction } from '@flighthq/types/contract';
|
|
2
2
|
/**
|
|
3
3
|
* Filters a single gamepad axis value through a simple dead zone.
|
|
4
4
|
* Values within `[-deadZone, deadZone]` are mapped to `0`; values outside
|
|
@@ -39,7 +39,6 @@ export declare function createInputKeyRepeatTimer(options: Readonly<InputKeyRepe
|
|
|
39
39
|
export declare function createInputManager(): InputManager;
|
|
40
40
|
export declare function createInputSignals(): InputSignals;
|
|
41
41
|
export declare function createInputState(): InputState;
|
|
42
|
-
export declare function createWebInputIngressBackend(): HostInputIngressProvider & Entity;
|
|
43
42
|
export declare function detachGamepadInput(manager: InputManager, source: InputIngressSource): void;
|
|
44
43
|
export declare function detachKeyboardInput(manager: InputManager, source: InputIngressSource): void;
|
|
45
44
|
export declare function detachPointerInput(manager: InputManager, source: InputIngressSource): void;
|
|
@@ -53,16 +52,6 @@ export declare function detachWheelInput(manager: InputManager, source: InputIng
|
|
|
53
52
|
* frame (or input-poll cycle) to prepare the edge sets for the next frame.
|
|
54
53
|
*/
|
|
55
54
|
export declare function endInputStateFrame(state: InputState): void;
|
|
56
|
-
/**
|
|
57
|
-
* Returns coalesced pointer event data for a `pointermove` event, iterating
|
|
58
|
-
* over the high-frequency intermediate positions captured since the last
|
|
59
|
-
* delivered event. Falls back to a single entry with the event itself when
|
|
60
|
-
* `getCoalescedEvents` is unavailable (e.g. in jsdom).
|
|
61
|
-
*
|
|
62
|
-
* The callback receives each coalesced `InputPointerData` in order. The
|
|
63
|
-
* payload object is reused across calls — do not retain a reference to it.
|
|
64
|
-
*/
|
|
65
|
-
export declare function getCoalescedInputPointerEvents(event: PointerEvent, callback: (data: Readonly<InputPointerData>) => void): void;
|
|
66
55
|
/**
|
|
67
56
|
* Returns the semantic name string (a `GamepadAxisKind`) for `index` in the
|
|
68
57
|
* standard gamepad mapping, or `null` if `mapping` is not `'standard'` or
|
|
@@ -81,9 +70,6 @@ export declare function getGamepadButtonName(mapping: GamepadMappingKind, index:
|
|
|
81
70
|
*/
|
|
82
71
|
export declare function getInputGamepadAxis(state: Readonly<InputState>, gamepad: number, axis: number): number;
|
|
83
72
|
export declare function getInputIngressBackend(): HostInputIngressProvider;
|
|
84
|
-
export declare function getKeyCodeFromDomKeyboardEvent(event: Readonly<KeyboardEvent>): number;
|
|
85
|
-
export declare function getKeyModifierFromDomKeyboardEvent(event: Readonly<KeyboardEvent>): number;
|
|
86
|
-
export declare function getMouseWheelModeFromDomWheelEvent(event: Readonly<WheelEvent>): MouseWheelMode;
|
|
87
73
|
/**
|
|
88
74
|
* Creates a key-repeat timer for non-DOM sources (gamepad d-pad buttons,
|
|
89
75
|
* virtual on-screen keys, native backends) that do not generate their own
|
|
@@ -114,8 +100,6 @@ export declare function initializeInputSignals(out: EntityConstruction<InputSign
|
|
|
114
100
|
* logical frame to roll the edge sets.
|
|
115
101
|
*/
|
|
116
102
|
export declare function initializeInputState(out: EntityConstruction<InputState>): void;
|
|
117
|
-
/** Explicit browser adapter for the process-wide input-ingress seam. */
|
|
118
|
-
export declare function initializeWebInputIngressBackend(out: EntityConstruction<HostInputIngressProvider & Entity>): void;
|
|
119
103
|
export declare function installInputIngressHostBackend(backend: HostInputIngressProvider): void;
|
|
120
104
|
/**
|
|
121
105
|
* Returns `true` if the given gamepad button is currently held.
|
|
@@ -128,23 +112,11 @@ export declare function isInputGamepadButtonDown(state: Readonly<InputState>, ga
|
|
|
128
112
|
export declare function isInputKeyDown(state: Readonly<InputState>, keyCode: number): boolean;
|
|
129
113
|
/**
|
|
130
114
|
* Returns `true` if the given pointer button is currently held for the given `pointerId`.
|
|
131
|
-
* `button`
|
|
115
|
+
* `button` is the source-provided button index (0 = primary, 1 = middle, 2 = secondary, …).
|
|
132
116
|
*/
|
|
133
117
|
export declare function isInputPointerButtonDown(state: Readonly<InputState>, pointerId: number, button: number): boolean;
|
|
134
|
-
/**
|
|
135
|
-
* Releases pointer capture for `pointerId` from `element`, allowing pointer
|
|
136
|
-
* events to fire on the element under the pointer again.
|
|
137
|
-
* No-op if `element` does not have capture for this pointer.
|
|
138
|
-
*/
|
|
139
|
-
export declare function releaseInputPointerCapture(element: HTMLElement, pointerId: number): void;
|
|
140
118
|
export declare function resetInputIngressBackendForTest(): void;
|
|
141
119
|
export declare function setInputIngressBackend(backend: HostInputIngressProvider | null): void;
|
|
142
|
-
/**
|
|
143
|
-
* Explicitly captures all pointer events for `pointerId` to `element`,
|
|
144
|
-
* regardless of where the pointer moves. Useful for drag operations.
|
|
145
|
-
* Automatically released on `pointerup` or `pointercancel` per the spec.
|
|
146
|
-
*/
|
|
147
|
-
export declare function setInputPointerCapture(element: HTMLElement, pointerId: number): void;
|
|
148
120
|
/**
|
|
149
121
|
* Returns `true` if the gamepad button at `gamepad`/`button` was pressed
|
|
150
122
|
* this frame (i.e. transitioned from up → down since the last
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inputManager.d.ts","sourceRoot":"","sources":["../src/inputManager.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,kBAAkB,EAClB,
|
|
1
|
+
{"version":3,"file":"inputManager.d.ts","sourceRoot":"","sources":["../src/inputManager.ts"],"names":[],"mappings":"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"}
|