Enum representing keyboard modifier keys.
export class KeyboardModifierExamplePanel extends PanelPlugin { connections: any[]; static descriptor() { const d = new Descriptor(); d.id = 'com.docs.KeyboardModifierExample'; d.name = 'KeyboardModifier Example'; d.defaultDockState = DockState.Detached; d.defaultSize = new Size(350, 200); return d; } constructor(pluginSystem: Editor.PluginSystem, descriptor?: Descriptor) { super(pluginSystem, descriptor); this.connections = []; } createWidget(parent: Widget): Widget { const root = new Widget(parent); const layout = new BoxLayout(); layout.setDirection(Direction.TopToBottom); layout.spacing = 8; root.layout = layout; const title = new Label(root); title.text = 'KeyboardModifier Demo — click in this panel'; layout.addWidget(title); const statusLabel = new Label(root); statusLabel.text = 'Click with modifier keys held...'; statusLabel.wordWrap = true; layout.addWidget(statusLabel); // Connect onMousePress to detect keyboard modifiers during click this.connections.push( root.onMousePress.connect((event) => { const parts: string[] = []; if (event.modifiers & KeyboardModifier.ControlModifier) { parts.push('Ctrl'); } if (event.modifiers & KeyboardModifier.ShiftModifier) { parts.push('Shift'); } if (event.modifiers & KeyboardModifier.AltModifier) { parts.push('Alt'); } if (event.modifiers & KeyboardModifier.MetaModifier) { parts.push('Meta'); } if (parts.length === 0) { parts.push('NoModifier'); } statusLabel.text = 'Modifiers: ' + parts.join(' + '); }) ); return root; } deinit(): void { this.connections.forEach((c: any) => c?.disconnect()); this.connections = []; }} Copy
export class KeyboardModifierExamplePanel extends PanelPlugin { connections: any[]; static descriptor() { const d = new Descriptor(); d.id = 'com.docs.KeyboardModifierExample'; d.name = 'KeyboardModifier Example'; d.defaultDockState = DockState.Detached; d.defaultSize = new Size(350, 200); return d; } constructor(pluginSystem: Editor.PluginSystem, descriptor?: Descriptor) { super(pluginSystem, descriptor); this.connections = []; } createWidget(parent: Widget): Widget { const root = new Widget(parent); const layout = new BoxLayout(); layout.setDirection(Direction.TopToBottom); layout.spacing = 8; root.layout = layout; const title = new Label(root); title.text = 'KeyboardModifier Demo — click in this panel'; layout.addWidget(title); const statusLabel = new Label(root); statusLabel.text = 'Click with modifier keys held...'; statusLabel.wordWrap = true; layout.addWidget(statusLabel); // Connect onMousePress to detect keyboard modifiers during click this.connections.push( root.onMousePress.connect((event) => { const parts: string[] = []; if (event.modifiers & KeyboardModifier.ControlModifier) { parts.push('Ctrl'); } if (event.modifiers & KeyboardModifier.ShiftModifier) { parts.push('Shift'); } if (event.modifiers & KeyboardModifier.AltModifier) { parts.push('Alt'); } if (event.modifiers & KeyboardModifier.MetaModifier) { parts.push('Meta'); } if (parts.length === 0) { parts.push('NoModifier'); } statusLabel.text = 'Modifiers: ' + parts.join(' + '); }) ); return root; } deinit(): void { this.connections.forEach((c: any) => c?.disconnect()); this.connections = []; }}
Alt key modifier.
Control key modifier.
Group switch key modifier.
Keypad key modifier.
Meta/Command key modifier.
No modifier key pressed.
Shift key modifier.
Enum representing keyboard modifier keys.
Example