Comparing version 0.1.5 to 0.1.6
@@ -1,2 +0,1 @@ | ||
import Emittery from 'emittery'; | ||
import { Except } from 'type-fest'; | ||
@@ -7,6 +6,7 @@ import { AllKeyCodes } from './types/keyCodes'; | ||
import { UserOverridesConfig } from './types/store'; | ||
import { TypedEventEmitter } from './typedEventEmitter'; | ||
type MovementVectorType = '2d' | '3d'; | ||
export declare class ControMax<T extends InputCommandsSchema, K extends InputGroupedCommandsSchema, M extends MovementVectorType, D extends { | ||
movementVector?: M; | ||
} & InputSchemaArg<T, K>> extends Emittery<ControEvents<D['commands'], K, M>> { | ||
} & InputSchemaArg<T, K>> extends TypedEventEmitter<ControEvents<D['commands'], K, M>> { | ||
options: CreateControlsSchemaOptions; | ||
@@ -13,0 +13,0 @@ /** type only @deprecated */ |
import { mapValues } from 'lodash-es'; | ||
import Emittery from 'emittery'; | ||
import { keysGroup, getMovementKeysGroup } from './keysUtil'; | ||
@@ -8,2 +7,3 @@ import { keysMovementConfig } from './shared/movement'; | ||
import { getButtonLabel } from './gamepad'; | ||
import { TypedEventEmitter } from './typedEventEmitter'; | ||
const mapKeyboardCodes = { | ||
@@ -15,3 +15,3 @@ // firefox | ||
// TODO enable debug | ||
export class ControMax extends Emittery { | ||
export class ControMax extends TypedEventEmitter { | ||
options; | ||
@@ -93,4 +93,6 @@ /** type only @deprecated */ | ||
: currentMovementVector[type.gamepadIndex]; | ||
const solelyMovementVector = 'keyboard' in type ? currentMovementVector.keyboard : currentMovementVector.gamepads[type.gamepadIndex]; | ||
void this.emit('movementUpdate', { | ||
vector: inputSchema.movementVector === '2d' ? { ...movementVectorToEmit, y: undefined } : movementVectorToEmit, | ||
soleVector: solelyMovementVector, | ||
gamepadIndex: 'keyboard' in type ? undefined : type.gamepadIndex, | ||
@@ -97,0 +99,0 @@ }); |
@@ -1,3 +0,3 @@ | ||
import Emittery from 'emittery'; | ||
import { GamepadButtonName } from './gamepad'; | ||
import { TypedEventEmitter } from './typedEventEmitter'; | ||
export interface GamepadStick { | ||
@@ -12,7 +12,7 @@ label: string; | ||
type WhichGamepad = 'all' | 0 | 1 | 2 | 3; | ||
export declare class GamepadsStore extends Emittery<{ | ||
firstConnected: Gamepad; | ||
lastDisconnected: undefined; | ||
export declare class GamepadsStore extends TypedEventEmitter<{ | ||
firstConnected: (arg0: Gamepad) => void; | ||
lastDisconnected: () => void; | ||
/** Emits only after queried */ | ||
nowPrefersGamepad: undefined; | ||
nowPrefersGamepad: () => void; | ||
}> { | ||
@@ -19,0 +19,0 @@ static getConnectedGamepads(): Gamepad[]; |
@@ -1,3 +0,3 @@ | ||
import Emittery from 'emittery'; | ||
import { findButtonNumber } from './gamepad'; | ||
import { TypedEventEmitter } from './typedEventEmitter'; | ||
export const gamepadSticks = { | ||
@@ -7,3 +7,3 @@ left: { label: 'Left stick', xAxis: 0, yAxis: 1 }, | ||
}; | ||
export class GamepadsStore extends Emittery { | ||
export class GamepadsStore extends TypedEventEmitter { | ||
// static getConnectedGamepadIndexes() { | ||
@@ -10,0 +10,0 @@ // return new Set((navigator.getGamepads().filter(Boolean) as Gamepad[]).map(gamepad => gamepad.index)) |
@@ -80,18 +80,19 @@ import { LiteralUnion } from 'type-fest'; | ||
export type ControEvents<T extends InputCommandsSchema, K extends InputGroupedCommandsSchema, M extends '2d' | '3d'> = { | ||
trigger: CommandEventArgument<T>; | ||
triggerGrouped: GroupCommandEventArgument<K>; | ||
release: CommandEventArgument<T>; | ||
releaseGrouped: GroupCommandEventArgument<K>; | ||
stickMovement: { | ||
trigger: (arg0: CommandEventArgument<T>) => void; | ||
triggerGrouped: (arg0: GroupCommandEventArgument<K>) => void; | ||
release: (arg0: CommandEventArgument<T>) => void; | ||
releaseGrouped: (arg0: GroupCommandEventArgument<K>) => void; | ||
stickMovement: (arg0: { | ||
stick: 'left' | 'right'; | ||
vector: MovementVector2d; | ||
}; | ||
movementUpdate: { | ||
}) => void; | ||
movementUpdate: (arg0: { | ||
vector: M extends '3d' ? MovementVector3d : MovementVector2d; | ||
} & SourceType; | ||
soleVector: M extends '3d' ? MovementVector3d : MovementVector2d; | ||
} & SourceType) => void; | ||
/** usually to switch slots */ | ||
mouseWheel: { | ||
mouseWheel: (arg0: { | ||
direction: -1 | 1; | ||
}; | ||
pressedKeyOrButtonChanged: ({ | ||
}) => void; | ||
pressedKeyOrButtonChanged: (arg0: ({ | ||
code: AllKeyCodes; | ||
@@ -103,4 +104,4 @@ } | { | ||
state: boolean; | ||
}; | ||
userConfigResolve: undefined; | ||
}) => void; | ||
userConfigResolve: () => void; | ||
}; | ||
@@ -107,0 +108,0 @@ type KeyboardTarget = Record<'addEventListener' | 'removeEventListener', (...args: ['keydown' | 'keyup', (e: KeyboardEvent) => void]) => unknown>; |
{ | ||
"name": "contro-max", | ||
"version": "0.1.5", | ||
"version": "0.1.6", | ||
"description": "Game controls done in the best possible way!", | ||
@@ -34,4 +34,5 @@ "main": "build/index.js", | ||
"dependencies": { | ||
"emittery": "^0.10.0", | ||
"lodash-es": "^4.17.21" | ||
"events": "^3.3.0", | ||
"lodash-es": "^4.17.21", | ||
"typed-emitter": "^2.1.0" | ||
}, | ||
@@ -38,0 +39,0 @@ "devDependencies": { |
48706
37
944
5
+ Addedevents@^3.3.0
+ Addedtyped-emitter@^2.1.0
+ Addedevents@3.3.0(transitive)
+ Addedrxjs@7.8.2(transitive)
+ Addedtslib@2.8.1(transitive)
+ Addedtyped-emitter@2.1.0(transitive)
- Removedemittery@^0.10.0
- Removedemittery@0.10.2(transitive)