Trimmed monorepo checkout (fluxer_desktop + packages/voice_engine_v2 + tools/ci) with a "Connect to a Different Server" menu item and popout that lets the desktop app switch to any self-hosted Fluxer instance, plus fixes for well-known discovery on single-domain self-hosted deployments and a false-positive ERR_ABORTED on same-origin client redirects during the switch. Defaults to chat.fluxr.chat and uses an isolated userData directory from the official build.
55 lines
956 B
TypeScript
55 lines
956 B
TypeScript
// SPDX-License-Identifier: AGPL-3.0-or-later
|
|
|
|
export type InputEvent =
|
|
| {
|
|
type: 'keydown' | 'keyup';
|
|
keycode: number;
|
|
keyName: string;
|
|
ctrlKey: boolean;
|
|
altKey: boolean;
|
|
shiftKey: boolean;
|
|
metaKey: boolean;
|
|
}
|
|
| {
|
|
type: 'mousedown' | 'mouseup';
|
|
button: number;
|
|
ctrlKey: boolean;
|
|
altKey: boolean;
|
|
shiftKey: boolean;
|
|
metaKey: boolean;
|
|
x?: number;
|
|
y?: number;
|
|
}
|
|
| {
|
|
type: 'mousemove';
|
|
x: number;
|
|
y: number;
|
|
ctrlKey: boolean;
|
|
altKey: boolean;
|
|
shiftKey: boolean;
|
|
metaKey: boolean;
|
|
}
|
|
| {
|
|
type: 'wheel';
|
|
x?: number;
|
|
y?: number;
|
|
deltaX: number;
|
|
deltaY: number;
|
|
ctrlKey: boolean;
|
|
altKey: boolean;
|
|
shiftKey: boolean;
|
|
metaKey: boolean;
|
|
};
|
|
|
|
export declare class InputHook {
|
|
constructor(callback: (event: InputEvent) => void);
|
|
|
|
start(): void;
|
|
|
|
stop(): void;
|
|
}
|
|
|
|
export declare function isAvailable(): boolean;
|
|
|
|
export declare const loadError: Error | null;
|