@logitech-mx-creative-console/core
Version:
An npm module for interfacing with the Logitech MX Creative Console
32 lines • 1.29 kB
TypeScript
import type { Coordinate, Dimension } from './id.js';
export interface MXConsoleControlDefinitionBase {
type: 'button' | 'encoder';
row: number;
column: number;
}
export interface MXConsoleButtonControlDefinitionBase extends MXConsoleControlDefinitionBase {
type: 'button';
index: number;
hidId: number;
feedbackType: 'none' | 'lcd';
}
export interface MXConsoleButtonControlDefinitionNoFeedback extends MXConsoleButtonControlDefinitionBase {
feedbackType: 'none';
}
export interface MXConsoleButtonControlDefinitionLcdFeedback extends MXConsoleButtonControlDefinitionBase {
feedbackType: 'lcd';
pixelSize: Dimension;
pixelPosition: Coordinate;
}
export type MXConsoleButtonControlDefinition = MXConsoleButtonControlDefinitionNoFeedback | MXConsoleButtonControlDefinitionLcdFeedback;
export interface MXConsoleEncoderControlDefinition extends MXConsoleControlDefinitionBase {
type: 'encoder';
index: number;
hidIndex: number;
/** Whether the encoder has an led */
hasLed: boolean;
/** The number of steps in encoder led rings (if any) */
ledRingSteps: number;
}
export type MXConsoleControlDefinition = MXConsoleButtonControlDefinition | MXConsoleEncoderControlDefinition;
//# sourceMappingURL=controlDefinition.d.ts.map