nn.pp.rccore

## Class RCAdapter

- java.lang.Object
- - nn.pp.rccore.RCAdapter

- All Implemented Interfaces:
    java.util.EventListener, NotificationListener, AudioStatusListener, ConnectionEventListener, KeyboardInfoListener, KeyboardListener, MouseEventListener, MouseModeListener, SmartCardStatusListener, TerminalBlockListener, VideoEventListener, VirtualMediaInfoListener, VncListener

      public class RCAdapter
      extends java.lang.Object
      implements VideoEventListener, KeyboardInfoListener, KeyboardListener, MouseModeListener, MouseEventListener, ConnectionEventListener, NotificationListener, VirtualMediaInfoListener, AudioStatusListener, SmartCardStatusListener, TerminalBlockListener, VncListener

  This is a helper class which implements all the listener interfaces used by the RCCore event listener interfaces. If you want to implement these interfaces, you can derive from this class instead and just overwrite the methods you really need.

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `static interface` | `RCAdapter.BiConsumer<T,U>`
    `static interface` | `RCAdapter.Consumer<T>`
    `static interface` | `RCAdapter.Function<T,R>`
    `static interface` | `RCAdapter.Supplier<R>`
    `static interface` | `RCAdapter.TriConsumer<T,U,V>`

    - ### Nested classes/interfaces inherited from interface nn.pp.rccore.AudioStatusListener

      `AudioStatusListener.AudioStatus`

  - ### Field Summary

    - ### Fields inherited from interface nn.pp.rccore.VideoEventListener

      `ALL, ALL_EXCEPT_VIDEO_DATA_UPDATED, ENCODING_CHANGE_ALLOWED, ENCODING_CHANGED, ENCODING_SETTINGS_CHANGED, OSD_MESSAGE_RECEIVED, RAW_VIDEO_SNAPSHOT_RECEIVED, RAW_VIDEO_SUPPORT_CHANGED, RENDERER_INFORMATION, RESOLUTION_CHANGED, VIDEO_DATA_UPDATED, VIDEO_SETTINGS, VIDEO_STATUS`

    - ### Fields inherited from interface nn.pp.rccore.KeyboardInfoListener

      `ALL, KEYBOARD_LEDS, KEYBOARD_MACROS, LOCAL_KEYBOARD, SOFT_KEYBOARD, SUN_KEYBOARD`

    - ### Fields inherited from interface nn.pp.rccore.MouseModeListener

      `ALL, MOUSE_MODES, MOUSE_SYNC, SINGLE_CURSOR`

    - ### Fields inherited from interface nn.pp.rccore.MouseEventListener

      `ABSOLUTE_EVENTS, ALL, BUTTON1, BUTTON2, BUTTON3, RELATIVE_EVENTS, WHEEL_EVENTS`

    - ### Fields inherited from interface nn.pp.rccore.ConnectionEventListener

      `ALL, CHAT, CIM_LANG_OPTION, CONNECTED_USERS, DEVICE_NAME, ERIC_SESSION_ID_CHANGED, ETH_GIGABIT_SUPPORT, EXCLUSIVE_MODE, FEATURE_SUPPORT, HIDE_TOOLBAR, LANGUAGE, LICENSE_SUPPORT, MONITOR_MODE, PORT_LIST, POWER_CONTROL, PROTOCOL_VERSION, SERVER_ID, STATUS_INFO, SWITCHED_TO_PORT, USB_PROFILE`

    - ### Fields inherited from interface nn.pp.rccore.VirtualMediaInfoListener

      `ALL, REMOTE_ISO, USB_PROFILE, VM_GENERAL`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `RCAdapter()`

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `absoluteMouseEvent(int x, int y, int buttons)` An absolute mouse event has been detected.
    `static MouseEventListener` | `absoluteMouseEvent(RCAdapter.TriConsumer<java.lang.Integer,java.lang.Integer,java.lang.Integer> c)`
    `void` | `audioSettingsChanged(AudioStatusListener.AudioStatus speakerStatus, AudioStatusListener.AudioStatus micStatus)` Audio settings of the target have changed Note: Audio connections from different clients must all use the same audio format.
    `static AudioStatusListener` | `audioSettingsChanged(RCAdapter.BiConsumer<AudioStatusListener.AudioStatus,AudioStatusListener.AudioStatus> c)`
    `void` | `audioSupportChanged(boolean support)` Audio support for the target port has changed
    `static AudioStatusListener` | `audioSupportChanged(RCAdapter.Consumer<java.lang.Boolean> c)`
    `static ConnectionEventListener` | `chatWelcomeChanged(RCAdapter.Consumer<java.lang.String> c)`
    `void` | `chatWelcomeChanged(java.lang.String welcome)` The Chat Welcome message has changed.
    `void` | `cimLanguageOptionsSupported(boolean supported)` CIM options supported
    `static ConnectionEventListener` | `cimLanguageOptionsSupported(RCAdapter.Consumer<java.lang.Boolean> c)`
    `void` | `clearCacheSupportChanged(boolean supported)` The support to clear the video settings cache has changed.
    `VideoEventListener` | `clearCacheSupportChanged(RCAdapter.Consumer<java.lang.Boolean> c)`
    `void` | `colorCalibrationSupportChanged(boolean supported)` The support for automatically calibrating colors has changed
    `static VideoEventListener` | `colorCalibrationSupportChanged(RCAdapter.Consumer<java.lang.Boolean> c)`
    `void` | `connected()` The Connection has successfully been established and the initial handshake has been processed.
    `static ConnectionEventListener` | `connected(java.lang.Runnable r)`
    `void` | `connectedUsersChanged(int users)` The number of connected users has changed
    `static ConnectionEventListener` | `connectedUsersChanged(RCAdapter.Consumer<java.lang.Integer> c)`
    `void` | `ctrlAltReleaseDetected()` The keyboard implementation has detected that Ctrl+Alt has been pressed.
    `static KeyboardListener` | `ctrlAltReleaseDetected(java.lang.Runnable r)`
    `static ConnectionEventListener` | `deviceNameChanged(RCAdapter.Consumer<java.lang.String> c)`
    `void` | `deviceNameChanged(java.lang.String deviceName)` The name of the device connected to has been received or changed
    `void` | `disconnected(java.lang.Exception e)` The Connection has been dropped.
    `static ConnectionEventListener` | `disconnected(RCAdapter.Consumer<java.lang.Exception> c)`
    `static VideoEventListener` | `encodingActualColorSubsamplingChanged(RCAdapter.Consumer<RCCore.ColorSubsampling> c)`
    `void` | `encodingActualColorSubsamplingChanged(RCCore.ColorSubsampling subsampling)` The actually used color subsampling has changed.
    `void` | `encodingAutoChanged(boolean auto)` The automatic encoding detection setting has changed
    `static VideoEventListener` | `encodingAutoChanged(RCAdapter.Consumer<java.lang.Boolean> c)`
    `void` | `encodingAutoSupportedChanged(boolean supported)` The support for automatic encoding detection has changed
    `static VideoEventListener` | `encodingAutoSupportedChanged(RCAdapter.Consumer<java.lang.Boolean> c)`
    `void` | `encodingChangeAllowed(boolean allowed)` The support to change the video encoding has changed
    `static VideoEventListener` | `encodingChangeAllowed(RCAdapter.Consumer<java.lang.Boolean> c)`
    `static VideoEventListener` | `encodingColorDepthChanged(RCAdapter.Consumer<RCCore.ColorDepth> c)`
    `void` | `encodingColorDepthChanged(RCCore.ColorDepth colorDepth)` The setting for encoding color depth has changed
    `static VideoEventListener` | `encodingColorSubsamplingChanged(RCAdapter.Consumer<RCCore.ColorSubsampling> c)`
    `void` | `encodingColorSubsamplingChanged(RCCore.ColorSubsampling subsampling)` The setting for the color subsampling has changed
    `static VideoEventListener` | `encodingCompressionChanged(RCAdapter.Consumer<RCCore.Compression> c)`
    `void` | `encodingCompressionChanged(RCCore.Compression compression)` The setting for the encoding compression has changed
    `void` | `encodingIct4k444ForAllResolutionsSupportedChanged(boolean supported)` The support for 4:4:4 color sub-sampling for all resolutions has been received or changed
    `static VideoEventListener` | `encodingIct4k444ForAllResolutionsSupportedChanged(RCAdapter.Consumer<java.lang.Boolean> c)`
    `void` | `encodingIct4kSupportedChanged(boolean supported)` The support for ICT for 4k resolutions encoding has been received or changed
    `static VideoEventListener` | `encodingIct4kSupportedChanged(RCAdapter.Consumer<java.lang.Boolean> c)`
    `void` | `encodingIctSupportedChanged(boolean supported)` The support for ICT encoding has been received or changed
    `static VideoEventListener` | `encodingIctSupportedChanged(RCAdapter.Consumer<java.lang.Boolean> c)`
    `void` | `encodingLossyChanged(boolean lossy)` The setting for the lossy encoding has changed
    `static VideoEventListener` | `encodingLossyChanged(RCAdapter.Consumer<java.lang.Boolean> c)`
    `void` | `encodingLossySupportedChanged(boolean supported)` The support for "lossy" encoding has changed
    `static VideoEventListener` | `encodingLossySupportedChanged(RCAdapter.Consumer<java.lang.Boolean> c)`
    `static ConnectionEventListener` | `ericSessionIdChanged(RCAdapter.Consumer<java.lang.String> c)`
    `void` | `ericSessionIdChanged(java.lang.String ericSessionId)` The eric session ID has been received or changed
    `void` | `ethernetGigabitSupported(boolean supported)` Gigabit ethernet support
    `static ConnectionEventListener` | `ethernetGigabitSupported(RCAdapter.Consumer<java.lang.Boolean> c)`
    `void` | `exclusiveModeChanged(boolean exclusive)` The exclusive access setting has changed
    `static ConnectionEventListener` | `exclusiveModeChanged(RCAdapter.Consumer<java.lang.Boolean> c)`
    `void` | `exclusiveModePermissionChanged(boolean allowed)` The permission to enter/leave Exclusive Access Mode has changed
    `static ConnectionEventListener` | `exclusiveModePermissionChanged(RCAdapter.Consumer<java.lang.Boolean> c)`
    `void` | `framesPerSecond(int frames)` Frames per second decoded by the KVM protocol
    `static ConnectionEventListener` | `framesPerSecond(RCAdapter.Consumer<java.lang.Integer> c)`
    `static AudioStatusListener` | `hdmiAudioFormatChanged(RCAdapter.Consumer<java.lang.String> c)`
    `void` | `hdmiAudioFormatChanged(java.lang.String hdmiAudioFormat)` The HDMI audio format has changed HDMI audio is bound to one audio format only, so the client must not select any other format.
    `void` | `hdmiAudioSupportChanged(boolean supported)` The support for HDMI audio has changed
    `static AudioStatusListener` | `hdmiAudioSupportChanged(RCAdapter.Consumer<java.lang.Boolean> c)`
    `void` | `hideClientMenuEnforcedChanged(boolean enforced)` The setting whether hiding the client's tool bar and menu bar is enforced by configuration has changed
    `static ConnectionEventListener` | `hideClientMenuEnforcedChanged(RCAdapter.Consumer<java.lang.Boolean> c)`
    `void` | `hotkeyDetected(int hotkey)` A hotkey has been detected.
    `static KeyboardListener` | `hotkeyDetected(RCAdapter.Consumer<java.lang.Integer> c)`
    `void` | `incomingTrafficSpeed(int speed)` Incoming traffic speed
    `static ConnectionEventListener` | `incomingTrafficSpeed(RCAdapter.Consumer<java.lang.Integer> c)`
    `void` | `keyboardEvent(int rcKeyCode, boolean released)` Handler delegate for detected keyboard events
    `void` | `keyboardLedStateChanged(java.util.List<RCCore.KeyboardLed> state)` The status of the keyboard LEDs has changed
    `static KeyboardInfoListener` | `keyboardLedStateChanged(RCAdapter.Consumer<java.util.List<RCCore.KeyboardLed>> c)`
    `void` | `keyboardMacroListChanged(java.util.List<IKeyboardMacro> macros)` The list of pre-defined keyboard macros has changed.
    `static KeyboardInfoListener` | `keyboardMacroListChanged(RCAdapter.Consumer<java.util.List<IKeyboardMacro>> c)`
    `void` | `keyboardMacroSent(IKeyboardMacro macro)` A keyboard macro has been sent to the target
    `static KeyboardListener` | `keyboardMacroSent(RCAdapter.Consumer<IKeyboardMacro> c)`
    `void` | `languageChanged(java.util.Locale language)` The device's language setting has changed
    `static ConnectionEventListener` | `languageChanged(RCAdapter.Consumer<java.util.Locale> c)`
    `static ConnectionEventListener` | `licenseFeatureSupportChanged(RCAdapter.BiConsumer<java.lang.String,java.lang.Boolean> c)`
    `void` | `licenseFeatureSupportChanged(java.lang.String feature, boolean supported)` Licensed features have changed
    `void` | `localKeyboardMappingChanged(java.util.Locale mapping)` The pre-defined keyboard locale has changed.
    `static KeyboardInfoListener` | `localKeyboardMappingChanged(RCAdapter.Consumer<java.util.Locale> c)`
    `void` | `monitorModeChanged(boolean monitor)` The Monitor Only Mode (view-only) setting has changed
    `static ConnectionEventListener` | `monitorModeChanged(RCAdapter.Consumer<java.lang.Boolean> c)`
    `void` | `monitorModePermissionChanged(boolean allowed)` The permission to enter/leave Monitor Only Mode (view-only) has changed
    `static ConnectionEventListener` | `monitorModePermissionChanged(RCAdapter.Consumer<java.lang.Boolean> c)`
    `static MouseModeListener` | `mouseModeChanged(RCAdapter.Consumer<RCCore.MouseMode> c)`
    `void` | `mouseModeChanged(RCCore.MouseMode mode)` The current mouse mode has changed
    `void` | `mouseModeChangeSupportChanged(boolean supported)` The support for changing the mouse mode has changed
    `static MouseModeListener` | `mouseModeChangeSupportChanged(RCAdapter.Consumer<java.lang.Boolean> c)`
    `void` | `mouseSyncSupportChanged(boolean supported)` Support for mouse synchronization has changed
    `static MouseModeListener` | `mouseSyncSupportChanged(RCAdapter.Consumer<java.lang.Boolean> c)`
    `void` | `mouseWheelEvent(int rotation, int buttons)` A mouse wheel event has been detected.
    `static MouseEventListener` | `mouseWheelEvent(RCAdapter.BiConsumer<java.lang.Integer,java.lang.Integer> c)`
    `static ConnectionEventListener` | `newChatMessage(RCAdapter.Consumer<java.lang.String> c)`
    `void` | `newChatMessage(java.lang.String message)` A new chat message has been received.
    `static VideoEventListener` | `osdMessageReceived(RCAdapter.BiConsumer<java.lang.String,java.lang.Boolean> c)`
    `void` | `osdMessageReceived(java.lang.String osdMessage, boolean osdBlank)` An OSD message has been received
    `void` | `outgoingTrafficSpeed(int speed)` Outgoing traffic speed
    `static ConnectionEventListener` | `outgoingTrafficSpeed(RCAdapter.Consumer<java.lang.Integer> c)`
    `java.lang.String` | `portListChanged(java.util.List<? extends IKvmPort> portList)` The KVM Port List has changed; The event handler can select a port from the list and return it.
    `static ConnectionEventListener` | `portListChanged(RCAdapter.Function<java.util.List<? extends IKvmPort>,java.lang.String> f)`
    `void` | `portListRefreshSupportChanged(boolean supported)` The support for requesting the port list refresh has changed.
    `static ConnectionEventListener` | `portListRefreshSupportChanged(RCAdapter.Consumer<java.lang.Boolean> c)`
    `void` | `portScanSupportChanged(boolean supported)` The support for the Port Scan feature has changed
    `static ConnectionEventListener` | `portScanSupportChanged(RCAdapter.Consumer<java.lang.Boolean> c)`
    `void` | `powerControlEnabledChanged(boolean enabled)` Power control enabled has changed
    `static ConnectionEventListener` | `powerControlEnabledChanged(RCAdapter.Consumer<java.lang.Boolean> c)`
    `static ConnectionEventListener` | `protocolVersionChanged(RCAdapter.Consumer<java.lang.String> c)`
    `void` | `protocolVersionChanged(java.lang.String protocolVersion)` The RFB protocol version has been received or changed
    `static VideoEventListener` | `rawVideoSnapshotReceived(RCAdapter.BiConsumer<Snapshot,java.awt.image.BufferedImage> c)`
    `void` | `rawVideoSnapshotReceived(Snapshot rawSnapshot, java.awt.image.BufferedImage snapshotImage)` A Raw Video Snapshot has been received
    `void` | `rawVideoSnapshotSupportedChanged(boolean supported, java.util.List<Snapshot.ColorFormat> colorFormats)` The support for requesting raw video snapshots from the KX device has changed
    `static VideoEventListener` | `rawVideoSnapshotSupportedChanged(RCAdapter.BiConsumer<java.lang.Boolean,java.util.List<Snapshot.ColorFormat>> c)`
    `void` | `receivedNotification(INotificationEvent e)` A `NotificationEvent` has been received and shall be delivered.
    `static NotificationListener` | `receivedNotification(RCAdapter.Consumer<INotificationEvent> c)`
    `void` | `relativeMouseEvent(int x, int y, int buttons)` A relative mouse event has been detected.
    `static MouseEventListener` | `relativeMouseEvent(RCAdapter.TriConsumer<java.lang.Integer,java.lang.Integer,java.lang.Integer> c)`
    `void` | `remoteIsoListChanged(java.util.List<IVMMountRequestResponse> list)` The list of remote mountable ISO images has changed
    `static VirtualMediaInfoListener` | `remoteIsoListChanged(RCAdapter.Consumer<java.util.List<IVMMountRequestResponse>> c)`
    `void` | `remoteIsoMountFinished(IVMMountRequestResponse mount)` Remote ISO mounting has finished
    `static VirtualMediaInfoListener` | `remoteIsoMountFinished(RCAdapter.Consumer<IVMMountRequestResponse> c)`
    `void` | `remoteIsoSupportChanged(boolean supported)` Support for remote ISO mounting has changed
    `static VirtualMediaInfoListener` | `remoteIsoSupportChanged(RCAdapter.Consumer<java.lang.Boolean> c)`
    `void` | `renderedFramesPerSecond(int frames)` Frames per second rendered by the KVM renderer
    `static VideoEventListener` | `renderedFramesPerSecond(RCAdapter.Consumer<java.lang.Integer> c)`
    `static VideoEventListener` | `rendererTypeChanged(RCAdapter.Consumer<java.lang.String> c)`
    `void` | `rendererTypeChanged(java.lang.String type)` The textual description of the renderer type has changed or been received
    `void` | `resolutionChanged(java.awt.Dimension newResolution)` The video resolution of the target server has changed
    `static VideoEventListener` | `resolutionChanged(RCAdapter.Consumer<java.awt.Dimension> c)`
    `void` | `serverSessionIdChanged(int serverId)` The session ID has been received or changed
    `static ConnectionEventListener` | `serverSessionIdChanged(RCAdapter.Consumer<java.lang.Integer> c)`
    `void` | `singleCursorModeChanged(boolean single)` Single cursor mode setting has changed
    `static MouseModeListener` | `singleCursorModeChanged(RCAdapter.Consumer<java.lang.Boolean> c)`
    `void` | `singleCursorModeReallyActiveChanged(boolean active)` The state whether the Single Mouse Mode is really active has changed.
    `static MouseModeListener` | `singleCursorModeReallyActiveChanged(RCAdapter.Consumer<java.lang.Boolean> c)`
    `void` | `singleCursorModeSupportChanged(boolean supported)` Support for Single Cursor Mode has changed
    `static MouseModeListener` | `singleCursorModeSupportChanged(RCAdapter.Consumer<java.lang.Boolean> c)`
    `void` | `smartCardSupportedChanged(boolean supported)` The support for SmartCard has changed
    `static SmartCardStatusListener` | `smartCardSupportedChanged(RCAdapter.Consumer<java.lang.Boolean> c)`
    `void` | `softKeyboardMappingChanged(java.util.Locale mapping)` The pre-defined soft keyboard locale has changed.
    `static KeyboardInfoListener` | `softKeyboardMappingChanged(RCAdapter.Consumer<java.util.Locale> c)`
    `void` | `sunKeyboardSupported(boolean supported)` Sun keyboard support has changed
    `static KeyboardInfoListener` | `sunKeyboardSupported(RCAdapter.Consumer<java.lang.Boolean> c)`
    `void` | `supportedEncodingColorDepthsChanged(java.util.List<RCCore.ColorDepth> depths)` The supported color depths have been received or changed
    `static VideoEventListener` | `supportedEncodingColorDepthsChanged(RCAdapter.Consumer<java.util.List<RCCore.ColorDepth>> c)`
    `void` | `supportedEncodingColorSubsamplingsChanged(java.util.List<RCCore.ColorSubsampling> subsamplings)` The supported color subsampling values have been received or changed
    `static VideoEventListener` | `supportedEncodingColorSubsamplingsChanged(RCAdapter.Consumer<java.util.List<RCCore.ColorSubsampling>> c)`
    `void` | `supportedEncodingCompressionsChanged(java.util.List<RCCore.Compression> compressions)` The supported compression values have been received or changed
    `static VideoEventListener` | `supportedEncodingCompressionsChanged(RCAdapter.Consumer<java.util.List<RCCore.Compression>> c)`
    `void` | `supportedEncodingPredefinesChanged(java.util.List<RCCore.Predefine> predefines)` The supported pre-defined encoding settings have been received or changed
    `static VideoEventListener` | `supportedEncodingPredefinesChanged(RCAdapter.Consumer<java.util.List<RCCore.Predefine>> c)`
    `void` | `supportedMouseModesChanged(java.util.List<RCCore.MouseMode> modes)` The supported mouse modes for the target port have changed
    `static MouseModeListener` | `supportedMouseModesChanged(RCAdapter.Consumer<java.util.List<RCCore.MouseMode>> c)`
    `static ConnectionEventListener` | `switchedToPort(RCAdapter.Consumer<java.lang.String> c)`
    `void` | `switchedToPort(java.lang.String portId)` Successfully switched to a target port.
    `void` | `terminalBlockConfigChanged(ITerminalBlockConfig config)` The Terminal Block configuration has changed
    `static TerminalBlockListener` | `terminalBlockConfigChanged(RCAdapter.Consumer<ITerminalBlockConfig> c)`
    `void` | `terminalBlockInputSettingsChanged(ITerminalBlockInputSettings settings)` The Terminal Block input settings or state for the port have changed
    `static TerminalBlockListener` | `terminalBlockInputSettingsChanged(RCAdapter.Consumer<ITerminalBlockInputSettings> c)`
    `void` | `terminalBlockPulseSupportedChanged(boolean supported)` The support for the Terminal Block Pulse feature has changed
    `void` | `terminalBlockSupportedChanged(boolean supported)` The support for the Terminal Block feature has changed
    `static TerminalBlockListener` | `terminalBlockSupportedChanged(RCAdapter.Consumer<java.lang.Boolean> c)`
    `static KeyboardListener` | `textNotification(RCAdapter.BiConsumer<java.lang.Integer,java.lang.Boolean> c)`
    `static NotificationListener` | `textNotification(RCAdapter.Consumer<java.lang.String> c)`
    `void` | `textNotification(java.lang.String s)` An interesting event in text form should be delivered
    `void` | `usbProfileListChanged(IUsbProfileList profileList)` The list of USB profiles supported by the target port has changed
    `static VirtualMediaInfoListener` | `usbProfileListChanged(RCAdapter.Consumer<IUsbProfileList> c)`
    `void` | `videoAutoAdjustSupportChanged(boolean supported)` The support for automatically adjusting video settings has changed
    `static VideoEventListener` | `videoAutoAdjustSupportChanged(RCAdapter.Consumer<java.lang.Boolean> c)`
    `static VideoEventListener` | `videoDataUpdated(RCAdapter.Consumer<java.awt.Rectangle> c)`
    `void` | `videoDataUpdated(java.awt.Rectangle rect)` A video update for a given region has been received.
    `void` | `videoRefreshSupportChanged(boolean supported)` The Support to request a full screen refresh has changed
    `static VideoEventListener` | `videoRefreshSupportChanged(RCAdapter.Consumer<java.lang.Boolean> c)`
    `void` | `videoSettingsSupportChanged(boolean supported)` The support for requesting and setting video settings has changed
    `static VideoEventListener` | `videoSettingsSupportChanged(RCAdapter.Consumer<java.lang.Boolean> c)`
    `void` | `videoSettingsUpdated(IVideoSettings videoSettings)` New video settings have been received
    `static VideoEventListener` | `videoSettingsUpdated(RCAdapter.Consumer<IVideoSettings> c)`
    `static VideoEventListener` | `videoStatusChanged(RCAdapter.Consumer<RCCore.VideoStatus> c)`
    `void` | `videoStatusChanged(RCCore.VideoStatus status)` The status of the video display has changed
    `void` | `virtualMediaConfigChanged(IVMConfigInfo config)` The Virtual Media configuration has changed
    `static VirtualMediaInfoListener` | `virtualMediaConfigChanged(RCAdapter.Consumer<IVMConfigInfo> c)`
    `void` | `virtualMediaDriveCountChanged(int driveCount)` The count of emulated virtual media drives has changed
    `static VirtualMediaInfoListener` | `virtualMediaDriveCountChanged(RCAdapter.Consumer<java.lang.Integer> c)`
    `void` | `virtualMediaReadOnlyChanged(boolean readOnly)` Virtual media read-only enforcement has changed
    `static VirtualMediaInfoListener` | `virtualMediaReadOnlyChanged(RCAdapter.Consumer<java.lang.Boolean> c)`
    `void` | `virtualMediaSupportChanged(boolean supported)` Virtual media support (in general) has changed
    `static VirtualMediaInfoListener` | `virtualMediaSupportChanged(RCAdapter.Consumer<java.lang.Boolean> c)`
    `java.lang.String` | `vncPasswordRequired()` A password is required (but not given) for the VNC connection.
    `static VncListener` | `vncPasswordRequired(RCAdapter.Supplier<java.lang.String> f)`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### RCAdapter

          public RCAdapter()

  - ### Method Detail

    - #### textNotification

          public void textNotification(java.lang.String s)

      Description copied from interface: `NotificationListener`
      An interesting event in text form should be delivered
      Specified by:
        `textNotification` in interface `NotificationListener`
      Parameters:
        `s` - The text event to deliver

    - #### receivedNotification

          public void receivedNotification(INotificationEvent e)

      Description copied from interface: `NotificationListener`
      A `NotificationEvent` has been received and shall be delivered.
      Specified by:
        `receivedNotification` in interface `NotificationListener`
      Parameters:
        `e` - The received event to deliver

    - #### encodingChangeAllowed

          public void encodingChangeAllowed(boolean allowed)

      Description copied from interface: `VideoEventListener`

      The support to change the video encoding has changed

      The KX supports different video encodings. This event tells the client whether is is supported to change these encoding or not.

      This event is sent when registered with the `ENCODING_CHANGE_ALLOWED` event mask.

      Specified by:
        `encodingChangeAllowed` in interface `VideoEventListener`
      Parameters:
        `allowed` - true if changing the video encoding is allowed, false otherwise
      See Also:
        `RCCore.isEncodingChangeSupported()`

    - #### encodingAutoSupportedChanged

          public void encodingAutoSupportedChanged(boolean supported)

      Description copied from interface: `VideoEventListener`

      The support for automatic encoding detection has changed

      Some devices have the capability to automatically find the best video encoding given the current network bandwidth. This event informs the client about this capability.

      This event is sent when registered with the `ENCODING_SETTINGS_CHANGED` event mask.

      Specified by:
        `encodingAutoSupportedChanged` in interface `VideoEventListener`
      Parameters:
        `supported` - true if automatic encoding detection is supported, false otherwise
      See Also:
        `VideoEventListener.encodingAutoChanged(boolean)`, `RCCore.isEncodingAutoSupported()`, `RCCore.isEncodingAuto()`, `RCCore.setEncodingToAuto()`

    - #### encodingLossySupportedChanged

          public void encodingLossySupportedChanged(boolean supported)

      Description copied from interface: `VideoEventListener`

      The support for "lossy" encoding has changed

      Old KX2 devices may have the ability to use a lossy video encoding. That adds compression artifacts, but reduces network bandwidth. This event tells the client whether this is supported or not.

      On KX3, this is not used. The JPEG compression levels of KX3 are always lossy by definition, and the handling of the "lossy" setting will be completely ignored.

      This event is sent when registered with the `ENCODING_SETTINGS_CHANGED` event mask.

      Specified by:
        `encodingLossySupportedChanged` in interface `VideoEventListener`
      Parameters:
        `supported` - true if lossy encoding is supported, false otherwise
      See Also:
        `VideoEventListener.encodingLossyChanged(boolean)`, `RCCore.isEncodingLossySupported()`, `RCCore.isEncodingLossy()`, `RCCore.setEncodingLossy(boolean, boolean)`

    - #### encodingIctSupportedChanged

          public void encodingIctSupportedChanged(boolean supported)

      Description copied from interface: `VideoEventListener`

      The support for ICT encoding has been received or changed

      The KX3 and KX4 support "ICT" encoding, while other devices (KX2) don't

      This event is sent when registered with the `ENCODING_SETTINGS_CHANGED` event mask.

      Specified by:
        `encodingIctSupportedChanged` in interface `VideoEventListener`
      Parameters:
        `supported` - true if ICT encoding is supported, false otherwise
      See Also:
        `RCCore.isEncodingICTSupported()`

    - #### encodingIct4kSupportedChanged

          public void encodingIct4kSupportedChanged(boolean supported)

      Description copied from interface: `VideoEventListener`

      The support for ICT for 4k resolutions encoding has been received or changed

      The KX4 supports "ICT4K" encoding, while other devices (KX3, KX2) don't

      This event is sent when registered with the `ENCODING_SETTINGS_CHANGED` event mask.

      Specified by:
        `encodingIct4kSupportedChanged` in interface `VideoEventListener`
      Parameters:
        `supported` - true if ICT4K encoding is supported, false otherwise
      See Also:
        `RCCore.isEncodingICT4kSupported()`

    - #### encodingIct4k444ForAllResolutionsSupportedChanged

          public void encodingIct4k444ForAllResolutionsSupportedChanged(boolean supported)

      Description copied from interface: `VideoEventListener`

      The support for 4:4:4 color sub-sampling for all resolutions has been received or changed

      The KX4-101 firmware 4.4 and above and KX3NG support that, other devices have restrictions.

      This event is sent when registered with the `ENCODING_SETTINGS_CHANGED` event mask.

      Specified by:
        `encodingIct4k444ForAllResolutionsSupportedChanged` in interface `VideoEventListener`
      Parameters:
        `supported` - true if 4:4:4 is supported for all resolutions, false otherwise
      See Also:
        `RCCore.isEncodingIct4k444ForAllResolutionsSupported()`

    - #### supportedEncodingPredefinesChanged

          public void supportedEncodingPredefinesChanged(java.util.List<RCCore.Predefine> predefines)

      Description copied from interface: `VideoEventListener`

      The supported pre-defined encoding settings have been received or changed

      There are some "pre-defined" encoding settings, representing the recommended settings for a given network bandwidth. The client may use any of the supported values, which are advertised via this event handler.

      This event is sent when registered with the `ENCODING_SETTINGS_CHANGED` event mask.

      Specified by:
        `supportedEncodingPredefinesChanged` in interface `VideoEventListener`
      Parameters:
        `predefines` - the pre-defined encoding values supported by the device connected to
      See Also:
        `RCCore.getSupportedEncodingPredefines()`, `RCCore.setEncodingPredefine(nn.pp.rccore.RCCore.Predefine)`

    - #### supportedEncodingColorDepthsChanged

          public void supportedEncodingColorDepthsChanged(java.util.List<RCCore.ColorDepth> depths)

      Description copied from interface: `VideoEventListener`

      The supported color depths have been received or changed

      Besides using RCCore.Predefine values, the encoding can also be adjusted manually by specifying the `RCCore.ColorDepth` and `RCCore.Compression`. This event reports the values that are supported as color depths.

      This event is sent when registered with the `ENCODING_SETTINGS_CHANGED` event mask.

      Specified by:
        `supportedEncodingColorDepthsChanged` in interface `VideoEventListener`
      Parameters:
        `depths` - the color depth values supported by the device connected to
      See Also:
        `VideoEventListener.encodingColorDepthChanged(nn.pp.rccore.RCCore.ColorDepth)`, `RCCore.getSupportedEncodingColorDepths()`, `RCCore.setEncodingColorDepth(nn.pp.rccore.RCCore.ColorDepth, boolean)`, `RCCore.getEncodingColorDepth()`

    - #### supportedEncodingCompressionsChanged

          public void supportedEncodingCompressionsChanged(java.util.List<RCCore.Compression> compressions)

      Description copied from interface: `VideoEventListener`

      The supported compression values have been received or changed

      Besides using RCCore.Predefine values, the encoding can also be adjusted manually by specifying the RCCore.ColorDepth and RCCore.Compression. This event reports the values that are supported as compression algorithms.

      This event is sent when registered with the `ENCODING_SETTINGS_CHANGED` event mask.

      Specified by:
        `supportedEncodingCompressionsChanged` in interface `VideoEventListener`
      Parameters:
        `compressions` - the compression values supported by the device connected to
      See Also:
        `VideoEventListener.encodingCompressionChanged(nn.pp.rccore.RCCore.Compression)`, `RCCore.getSupportedEncodingCompressions()`, `RCCore.setEncodingCompression(nn.pp.rccore.RCCore.Compression, boolean)`, `RCCore.getEncodingCompression()`

    - #### supportedEncodingColorSubsamplingsChanged

          public void supportedEncodingColorSubsamplingsChanged(java.util.List<RCCore.ColorSubsampling> subsamplings)

      Description copied from interface: `VideoEventListener`

      The supported color subsampling values have been received or changed

      This event is sent when registered with the `ENCODING_SETTINGS_CHANGED` event mask.

      Specified by:
        `supportedEncodingColorSubsamplingsChanged` in interface `VideoEventListener`
      Parameters:
        `subsamplings` - The subsampling values supported by the device connected to
      See Also:
        `VideoEventListener.encodingColorSubsamplingChanged(nn.pp.rccore.RCCore.ColorSubsampling)`, `VideoEventListener.encodingActualColorSubsamplingChanged(nn.pp.rccore.RCCore.ColorSubsampling)`, `RCCore.getSupportedEncodingColorSubsamplings()`, `RCCore.getEncodingColorSubsampling()`, `RCCore.getActualColorSubsampling()`, `RCCore.setEncodingColorSubsampling(nn.pp.rccore.RCCore.ColorSubsampling, boolean)`

    - #### encodingAutoChanged

          public void encodingAutoChanged(boolean auto)

      Description copied from interface: `VideoEventListener`

      The automatic encoding detection setting has changed

      This event is sent when registered with the `ENCODING_CHANGED` event mask.

      Specified by:
        `encodingAutoChanged` in interface `VideoEventListener`
      Parameters:
        `auto` - true if encoding is set to auto, false otherwise
      See Also:
        `VideoEventListener.encodingAutoSupportedChanged(boolean)`, `RCCore.setEncodingToAuto()`, `RCCore.isEncodingAuto()`, `RCCore.isEncodingAutoSupported()`

    - #### encodingColorDepthChanged

          public void encodingColorDepthChanged(RCCore.ColorDepth colorDepth)

      Description copied from interface: `VideoEventListener`

      The setting for encoding color depth has changed

      This event is sent when registered with the `ENCODING_CHANGED` event mask.

      Specified by:
        `encodingColorDepthChanged` in interface `VideoEventListener`
      Parameters:
        `colorDepth` - the color depth setting
      See Also:
        `VideoEventListener.supportedEncodingColorDepthsChanged(List)`, `RCCore.getEncodingColorDepth()`, `RCCore.setEncodingColorDepth(nn.pp.rccore.RCCore.ColorDepth, boolean)`

    - #### encodingCompressionChanged

          public void encodingCompressionChanged(RCCore.Compression compression)

      Description copied from interface: `VideoEventListener`

      The setting for the encoding compression has changed

      This event is sent when registered with the `ENCODING_CHANGED` event mask.

      Specified by:
        `encodingCompressionChanged` in interface `VideoEventListener`
      Parameters:
        `compression` - the compression setting
      See Also:
        `VideoEventListener.supportedEncodingCompressionsChanged(List)`, `RCCore.getEncodingCompression()`, `RCCore.setEncodingCompression(nn.pp.rccore.RCCore.Compression, boolean)`

    - #### encodingColorSubsamplingChanged

          public void encodingColorSubsamplingChanged(RCCore.ColorSubsampling subsampling)

      Description copied from interface: `VideoEventListener`

      The setting for the color subsampling has changed

      This event is sent when registered with the `ENCODING_CHANGED` event mask.

      Specified by:
        `encodingColorSubsamplingChanged` in interface `VideoEventListener`
      Parameters:
        `subsampling` - the subsampling setting
      See Also:
        `VideoEventListener.supportedEncodingColorSubsamplingsChanged(List)`, `VideoEventListener.encodingActualColorSubsamplingChanged(nn.pp.rccore.RCCore.ColorSubsampling)`, `RCCore.setEncodingColorSubsampling(nn.pp.rccore.RCCore.ColorSubsampling, boolean)`, `RCCore.getEncodingColorSubsampling()`

    - #### encodingActualColorSubsamplingChanged

          public void encodingActualColorSubsamplingChanged(RCCore.ColorSubsampling subsampling)

      Description copied from interface: `VideoEventListener`

      The actually used color subsampling has changed. That might be different from the subsampling configured because not all subsamplings are supported by all resolutions.

      This event is sent when registered with the `ENCODING_CHANGED` event mask.

      Specified by:
        `encodingActualColorSubsamplingChanged` in interface `VideoEventListener`
      Parameters:
        `subsampling` - the subsampling setting
      See Also:
        `VideoEventListener.encodingColorSubsamplingChanged(nn.pp.rccore.RCCore.ColorSubsampling)`, `RCCore.setEncodingColorSubsampling(nn.pp.rccore.RCCore.ColorSubsampling, boolean)`, `RCCore.getActualColorSubsampling()`

    - #### encodingLossyChanged

          public void encodingLossyChanged(boolean lossy)

      Description copied from interface: `VideoEventListener`

      The setting for the lossy encoding has changed

      Old KX2 devices may have the ability to use a lossy video encoding. That adds compression artifacts, but reduces network bandwidth. This event tells the client whether this is supported or not.

      On KX3 and KX4, this is not used. The JPEG compression levels of KX3 are always lossy by definition, and the handling of the "lossy" setting will be completely ignored.

      This event is sent when registered with the `ENCODING_CHANGED` event mask.

      Specified by:
        `encodingLossyChanged` in interface `VideoEventListener`
      Parameters:
        `lossy` - The setting for lossy encoding
      See Also:
        `VideoEventListener.encodingLossySupportedChanged(boolean)`, `RCCore.isEncodingLossy()`, `RCCore.setEncodingLossy(boolean, boolean)`, `RCCore.isEncodingLossySupported()`

    - #### resolutionChanged

          public void resolutionChanged(java.awt.Dimension newResolution)

      Description copied from interface: `VideoEventListener`

      The video resolution of the target server has changed

      Sequence of resolution change:

      - RCCore resizes internal structures and updates internal size variables
      - RCCore generates the following event and waits for the return of all subscribers
      - RCCore requests the next framebuffer update

      This event is sent when registered with the `RESOLUTION_CHANGED` event mask.

      Specified by:
        `resolutionChanged` in interface `VideoEventListener`
      Parameters:
        `newResolution` - the resolution of the target server's video
      See Also:
        `RCCore.getResolution()`

    - #### videoSettingsSupportChanged

          public void videoSettingsSupportChanged(boolean supported)

      Description copied from interface: `VideoEventListener`

      The support for requesting and setting video settings has changed

      All devices with analog video sampling support video settings for adjusting the sampling parameters. Devices with digital video sampling don't need that.

      This event is sent when registered with the `VIDEO_SETTINGS` event mask.

      Specified by:
        `videoSettingsSupportChanged` in interface `VideoEventListener`
      Parameters:
        `supported` - true if video settings are supported, false otherwise
      See Also:
        `VideoEventListener.videoSettingsUpdated(IVideoSettings)`, `IVideoSettings`, `RCCore.isVideoSettingsSupported()`, `RCCore.getVideoSettings()`, `RCCore.setVideoSettings(IVideoSettings)`, `RCCore.requestVideoSettingsUpdates()`

    - #### videoAutoAdjustSupportChanged

          public void videoAutoAdjustSupportChanged(boolean supported)

      Description copied from interface: `VideoEventListener`

      The support for automatically adjusting video settings has changed

      This event is sent when registered with the `VIDEO_SETTINGS` event mask.

      Specified by:
        `videoAutoAdjustSupportChanged` in interface `VideoEventListener`
      Parameters:
        `supported` - true if automatic video adjustment is supported, false otherwise
      See Also:
        `RCCore.isVideoAutoAdjustSupported()`, `RCCore.requestVideoAutoSense()`

    - #### colorCalibrationSupportChanged

          public void colorCalibrationSupportChanged(boolean supported)

      Description copied from interface: `VideoEventListener`

      The support for automatically calibrating colors has changed

      This event is sent when registered with the `VIDEO_SETTINGS` event mask.

      Specified by:
        `colorCalibrationSupportChanged` in interface `VideoEventListener`
      Parameters:
        `supported` - true if automatic color calibration is supported, false otherwise
      See Also:
        `RCCore.isColorCalibrationSupported()`, `RCCore.requestVideoColorCalibration()`

    - #### videoRefreshSupportChanged

          public void videoRefreshSupportChanged(boolean supported)

      Description copied from interface: `VideoEventListener`

      The Support to request a full screen refresh has changed

      This event is sent when registered with the `VIDEO_SETTINGS` event mask.

      Specified by:
        `videoRefreshSupportChanged` in interface `VideoEventListener`
      Parameters:
        `supported` - true if requesting video refresh is supported, false otherwise
      See Also:
        `RCCore.isVideoRefreshSupported()`, `RCCore.requestVideoRefresh()`

    - #### clearCacheSupportChanged

          public void clearCacheSupportChanged(boolean supported)

      Description copied from interface: `VideoEventListener`

      The support to clear the video settings cache has changed.

      This event is sent when registered with the `VIDEO_SETTINGS` event mask.

      Specified by:
        `clearCacheSupportChanged` in interface `VideoEventListener`
      Parameters:
        `supported` - true if clearing the video settings cache is supported, false otherwise
      See Also:
        `RCCore.isClearVideoSettingsCacheSupported()`, `RCCore.clearVideoSettingsCache()`

    - #### videoSettingsUpdated

          public void videoSettingsUpdated(IVideoSettings videoSettings)

      Description copied from interface: `VideoEventListener`

      New video settings have been received

      Users should call RCCore.requestVideoSettingsUpdates to request new video settings. Then, the KX fetches new video settings and sends them to the client. Once received, the settings are propagated using this event.

      This event is sent when registered with the `VIDEO_SETTINGS` event mask.

      Specified by:
        `videoSettingsUpdated` in interface `VideoEventListener`
      Parameters:
        `videoSettings` - the received video settings
      See Also:
        `VideoEventListener.videoSettingsSupportChanged(boolean)`, `IVideoSettings`, `RCCore.isVideoSettingsSupported()`, `RCCore.getVideoSettings()`, `RCCore.setVideoSettings(IVideoSettings)`, `RCCore.requestVideoSettingsUpdates()`

    - #### osdMessageReceived

          public void osdMessageReceived(java.lang.String osdMessage,
                                         boolean osdBlank)

      Description copied from interface: `VideoEventListener`

      An OSD message has been received

      This event is sent when registered with the `OSD_MESSAGE_RECEIVED` event mask.

      Specified by:
        `osdMessageReceived` in interface `VideoEventListener`
      Parameters:
        `osdMessage` - the OSD message to display
        `osdBlank` - true if the screen should be blanked, false otherwise

    - #### videoDataUpdated

          public void videoDataUpdated(java.awt.Rectangle rect)

      Description copied from interface: `VideoEventListener`

      A video update for a given region has been received.

      The actual video data is not part of this event due to performance reasons. In order to get the video data, call `RCCore.getSnapshot()`

      This event is sent when registered with the `VIDEO_DATA_UPDATED` event mask.

      Specified by:
        `videoDataUpdated` in interface `VideoEventListener`
      Parameters:
        `rect` - rhe region that has been updated
      See Also:
        `RCCore.getSnapshot()`, `RCCore.getSnapshot(Rectangle)`

    - #### rendererTypeChanged

          public void rendererTypeChanged(java.lang.String type)

      Description copied from interface: `VideoEventListener`

      The textual description of the renderer type has changed or been received

      This event is sent when registered with the `RENDERER_INFORMATION` event mask.

      Specified by:
        `rendererTypeChanged` in interface `VideoEventListener`
      Parameters:
        `type` - the textual description of the renderer
      See Also:
        `RCCore.getRendererType()`

    - #### renderedFramesPerSecond

          public void renderedFramesPerSecond(int frames)

      Description copied from interface: `VideoEventListener`

      Frames per second rendered by the KVM renderer

      This event is emitted every second and reports the number of processed video frames in the last second.

      This event is sent when registered with the `RENDERER_INFORMATION` event mask.

      Specified by:
        `renderedFramesPerSecond` in interface `VideoEventListener`
      Parameters:
        `frames` - the number of rendered video frames in the last second
      See Also:
        `RCCore.getRenderedFramesPerSecond()`

    - #### rawVideoSnapshotSupportedChanged

          public void rawVideoSnapshotSupportedChanged(boolean supported,
                                                       java.util.List<Snapshot.ColorFormat> colorFormats)

      Description copied from interface: `VideoEventListener`

      The support for requesting raw video snapshots from the KX device has changed

      This event is sent when registered with the `RAW_VIDEO_SUPPORT_CHANGED` event mask.

      Specified by:
        `rawVideoSnapshotSupportedChanged` in interface `VideoEventListener`
      Parameters:
        `supported` - raw snapshot is supported or not
        `colorFormats` - list of supported color formats for snapshots
      See Also:
        `VideoEventListener.rawVideoSnapshotReceived(Snapshot, BufferedImage)`, `RCCore.isRawVideoSnapshotSupported()`, `RCCore.requestRawVideoSnapshot(nn.pp.rccore.Snapshot.ColorFormat)`

    - #### rawVideoSnapshotReceived

          public void rawVideoSnapshotReceived(Snapshot rawSnapshot,
                                               java.awt.image.BufferedImage snapshotImage)

      Description copied from interface: `VideoEventListener`

      A Raw Video Snapshot has been received

      The image data is in a proprietary data format, as it is used for transmission of video frames from the KX to the client. This is mainly for debugging or troubleshooting purposes.

      This event is sent when registered with the `RAW_VIDEO_SNAPSHOT_RECEIVED` event mask.

      Specified by:
        `rawVideoSnapshotReceived` in interface `VideoEventListener`
      Parameters:
        `rawSnapshot` - the raw video snapshot data
        `snapshotImage` - the decoded image; may be null
      See Also:
        `VideoEventListener.rawVideoSnapshotSupportedChanged(boolean, List)`, `RCCore.requestRawVideoSnapshot(nn.pp.rccore.Snapshot.ColorFormat)`

    - #### videoStatusChanged

          public void videoStatusChanged(RCCore.VideoStatus status)

      Description copied from interface: `VideoEventListener`

      The status of the video display has changed

      This event is sent when registered with the `VIDEO_STATUS` event mask.

      Specified by:
        `videoStatusChanged` in interface `VideoEventListener`
      Parameters:
        `status` - the video status

    - #### keyboardMacroListChanged

          public void keyboardMacroListChanged(java.util.List<IKeyboardMacro> macros)

      Description copied from interface: `KeyboardInfoListener`

      The list of pre-defined keyboard macros has changed.

      Note: this is not used anymore.

      This event is sent when registered with the `KEYBOARD_MACROS` event mask.

      Specified by:
        `keyboardMacroListChanged` in interface `KeyboardInfoListener`
      Parameters:
        `macros` - the list of keyboard macros
      See Also:
        `RCCore.getKeyboardMacroList()`

    - #### softKeyboardMappingChanged

          public void softKeyboardMappingChanged(java.util.Locale mapping)

      Description copied from interface: `KeyboardInfoListener`

      The pre-defined soft keyboard locale has changed.

      Note: this is not used anymore.

      This event is sent when registered with the `SOFT_KEYBOARD` event mask.

      Specified by:
        `softKeyboardMappingChanged` in interface `KeyboardInfoListener`
      Parameters:
        `mapping` - the mapping of the soft keyboard
      See Also:
        `RCCore.getSoftKeyboardMapping()`

    - #### localKeyboardMappingChanged

          public void localKeyboardMappingChanged(java.util.Locale mapping)

      Description copied from interface: `KeyboardInfoListener`

      The pre-defined keyboard locale has changed.

      Note: this is not used anymore.

      This event is sent when registered with the `LOCAL_KEYBOARD` event mask.

      Specified by:
        `localKeyboardMappingChanged` in interface `KeyboardInfoListener`
      Parameters:
        `mapping` - the mapping of the soft keyboard
      See Also:
        `RCCore.getLocalKeyboardMapping()`

    - #### keyboardLedStateChanged

          public void keyboardLedStateChanged(java.util.List<RCCore.KeyboardLed> state)

      Description copied from interface: `KeyboardInfoListener`

      The status of the keyboard LEDs has changed

      The KX tracks the state of keyboard LEDs (Caps, Num, Scroll lock) and informs the client about changes. These are reported through this event.

      This event is sent when registered with the `KEYBOARD_LEDS` event mask.

      Specified by:
        `keyboardLedStateChanged` in interface `KeyboardInfoListener`
      Parameters:
        `state` - A list of keyboard LEDs which currently in "on" state
      See Also:
        `RCCore.getKeyboardLedState()`

    - #### sunKeyboardSupported

          public void sunKeyboardSupported(boolean supported)

      Description copied from interface: `KeyboardInfoListener`

      Sun keyboard support has changed

      This event is sent when registered with the `SUN_KEYBOARD` event mask.

      Specified by:
        `sunKeyboardSupported` in interface `KeyboardInfoListener`
      Parameters:
        `supported` - true if the target supports Sun keyboards, false otherwise
      See Also:
        `RCCore.isSunKeyboardSupported()`

    - #### disconnected

          public void disconnected(java.lang.Exception e)

      Description copied from interface: `ConnectionEventListener`

      The Connection has been dropped.

      This event is always sent, mask is ignored.

      Specified by:
        `disconnected` in interface `ConnectionEventListener`
      Parameters:
        `e` - The exception which caused the disconnect. May be null if disconnect was not caused by an exception.

    - #### connected

          public void connected()

      Description copied from interface: `ConnectionEventListener`

      The Connection has successfully been established and the initial handshake has been processed.

      This event is always sent, mask is ignored.

      Specified by:
        `connected` in interface `ConnectionEventListener`

    - #### portListChanged

          public java.lang.String portListChanged(java.util.List<? extends IKvmPort> portList)

      Description copied from interface: `ConnectionEventListener`

      The KVM Port List has changed; The event handler can select a port from the list and return it.

      This event is sent when registered with the `PORT_LIST` event mask.

      At the initial connection, the list of KVM ports available (and accessible by the user) on the current KX are returned via this event handler.

      The port list returned at the beginning of the session may be incomplete. Tiering ports are missing and the CIM type are missing. In order to receive a full port list with all ports and information, request it explicitely using `RCCore.requestPortListRefresh()`. Please note that this is supported in KX 3.4 or newer only.

      This event is also used to change the port to connect to. Event handlers may return a unique port ID, different from the one used for the connect method of `RCCore` (`RCCore.connectRCWithUserLogin(String, int, boolean, String, String, String)`, `RCCore.connectRCWithRdmSession(String, int, boolean, String, String, String, String)` or `RCCore.connectRCWithEricKey(String, int, boolean, String, String)`).

      Specified by:
        `portListChanged` in interface `ConnectionEventListener`
      Parameters:
        `portList` - The list of KVM ports on the KX connected to
      Returns:
        Event handlers may return a unique port ID of the KVM port the user wants to connect to. If null is returned, the port ID used in `RCCore.connectRCWithUserLogin(String, int, boolean, String, String, String)`, `RCCore.connectRCWithRdmSession(String, int, boolean, String, String, String, String)` or `RCCore.connectRCWithEricKey(String, int, boolean, String, String)` is used.
      See Also:
        `RCCore.getPortList()`, `RCCore.isPortListRefreshSupported()`, `RCCore.requestPortListRefresh()`, `ConnectionEventListener.portListRefreshSupportChanged(boolean)`

    - #### portListRefreshSupportChanged

          public void portListRefreshSupportChanged(boolean supported)

      Description copied from interface: `ConnectionEventListener`

      The support for requesting the port list refresh has changed.

      This is only supported in KX 3.4 or newer.

      This event is sent when registered with the `PORT_LIST` event mask.

      Specified by:
        `portListRefreshSupportChanged` in interface `ConnectionEventListener`
      Parameters:
        `supported` - true if refreshing the port list is supported, false otherwise
      See Also:
        `RCCore.getPortList()`, `RCCore.isPortListRefreshSupported()`, `RCCore.requestPortListRefresh()`, `ConnectionEventListener.portListChanged(List)`

    - #### serverSessionIdChanged

          public void serverSessionIdChanged(int serverId)

      Description copied from interface: `ConnectionEventListener`

      The session ID has been received or changed

      This session ID is needed to connect Virtual Media, Audio or SmartCard sessions. The KX needs this ID to connect these sessions to the KVM session.

      This event is sent when registered with the `SERVER_ID` event mask.

      Specified by:
        `serverSessionIdChanged` in interface `ConnectionEventListener`
      Parameters:
        `serverId` - The server session ID
      See Also:
        `RCCore.getServerSessionId()`

    - #### connectedUsersChanged

          public void connectedUsersChanged(int users)

      Description copied from interface: `ConnectionEventListener`

      The number of connected users has changed

      This event is sent when registered with the `CONNECTED_USERS` event mask.

      Specified by:
        `connectedUsersChanged` in interface `ConnectionEventListener`
      Parameters:
        `users` - The number of users connected to that port
      See Also:
        `RCCore.getConnectedUsers()`

    - #### monitorModePermissionChanged

          public void monitorModePermissionChanged(boolean allowed)

      Description copied from interface: `ConnectionEventListener`

      The permission to enter/leave Monitor Only Mode (view-only) has changed

      This event is sent when registered with the `MONITOR_MODE` event mask.

      Specified by:
        `monitorModePermissionChanged` in interface `ConnectionEventListener`
      Parameters:
        `allowed` - Is changing monitor mode allowed?
      See Also:
        `RCCore.hasMonitorModePermission()`

    - #### monitorModeChanged

          public void monitorModeChanged(boolean monitor)

      Description copied from interface: `ConnectionEventListener`

      The Monitor Only Mode (view-only) setting has changed

      This event is sent when registered with the `MONITOR_MODE` event mask.

      Specified by:
        `monitorModeChanged` in interface `ConnectionEventListener`
      Parameters:
        `monitor` - Is the monitor mode active?
      See Also:
        `RCCore.isMonitorMode()`

    - #### exclusiveModePermissionChanged

          public void exclusiveModePermissionChanged(boolean allowed)

      Description copied from interface: `ConnectionEventListener`

      The permission to enter/leave Exclusive Access Mode has changed

      This event is sent when registered with the `EXCLUSIVE_MODE` event mask.

      Specified by:
        `exclusiveModePermissionChanged` in interface `ConnectionEventListener`
      Parameters:
        `allowed` - Is changing exclusive mode allowed?
      See Also:
        `RCCore.hasExclusiveModePermission()`

    - #### exclusiveModeChanged

          public void exclusiveModeChanged(boolean exclusive)

      Description copied from interface: `ConnectionEventListener`

      The exclusive access setting has changed

      This event is sent when registered with the `EXCLUSIVE_MODE` event mask.

      Specified by:
        `exclusiveModeChanged` in interface `ConnectionEventListener`
      Parameters:
        `exclusive` - Is the exclusive access active?
      See Also:
        `RCCore.isExclusiveMode()`

    - #### languageChanged

          public void languageChanged(java.util.Locale language)

      Description copied from interface: `ConnectionEventListener`

      The device's language setting has changed

      This event is sent when registered with the `LANGUAGE` event mask.

      Specified by:
        `languageChanged` in interface `ConnectionEventListener`
      Parameters:
        `language` - The language

    - #### protocolVersionChanged

          public void protocolVersionChanged(java.lang.String protocolVersion)

      Description copied from interface: `ConnectionEventListener`

      The RFB protocol version has been received or changed

      This event is sent when registered with the `PROTOCOL_VERSION` event mask.

      Specified by:
        `protocolVersionChanged` in interface `ConnectionEventListener`
      Parameters:
        `protocolVersion` - The protocol version
      See Also:
        `RCCore.getProtocolVersion()`

    - #### deviceNameChanged

          public void deviceNameChanged(java.lang.String deviceName)

      Description copied from interface: `ConnectionEventListener`

      The name of the device connected to has been received or changed

      This event is sent when registered with the `DEVICE_NAME` event mask.

      Specified by:
        `deviceNameChanged` in interface `ConnectionEventListener`
      Parameters:
        `deviceName` - The name of the device connected to
      See Also:
        `RCCore.getDeviceName()`

    - #### framesPerSecond

          public void framesPerSecond(int frames)

      Description copied from interface: `ConnectionEventListener`

      Frames per second decoded by the KVM protocol

      This event is emitted every second and reports the number of processed video frames in the last second.

      This event is sent when registered with the `STATUS_INFO` event mask.

      Specified by:
        `framesPerSecond` in interface `ConnectionEventListener`
      Parameters:
        `frames` - The number of decoded video frames in the last second
      See Also:
        `RCCore.getFramesPerSecond()`

    - #### incomingTrafficSpeed

          public void incomingTrafficSpeed(int speed)

      Description copied from interface: `ConnectionEventListener`

      Incoming traffic speed

      This event is emitted every second and reports the network data rate (incoming) in bytes per second.

      This event is sent when registered with the `STATUS_INFO` event mask.

      Specified by:
        `incomingTrafficSpeed` in interface `ConnectionEventListener`
      Parameters:
        `speed` - The incoming network traffic in bytes per second
      See Also:
        `RCCore.getIncomingTrafficSpeed()`

    - #### outgoingTrafficSpeed

          public void outgoingTrafficSpeed(int speed)

      Description copied from interface: `ConnectionEventListener`

      Outgoing traffic speed

      This event is emitted every second and reports the network data rate (outgoing) in bytes per second.

      This event is sent when registered with the `STATUS_INFO` event mask.

      Specified by:
        `outgoingTrafficSpeed` in interface `ConnectionEventListener`
      Parameters:
        `speed` - The outgoing network traffic in bytes per second
      See Also:
        `RCCore.getOutgoingTrafficSpeed()`

    - #### chatWelcomeChanged

          public void chatWelcomeChanged(java.lang.String welcome)

      Description copied from interface: `ConnectionEventListener`

      The Chat Welcome message has changed.

      This event is sent when registered with the `CHAT` event mask.

      Specified by:
        `chatWelcomeChanged` in interface `ConnectionEventListener`
      Parameters:
        `welcome` - the chat welcome message

    - #### newChatMessage

          public void newChatMessage(java.lang.String message)

      Description copied from interface: `ConnectionEventListener`

      A new chat message has been received.

      This event is sent when registered with the `CHAT` event mask.

      Specified by:
        `newChatMessage` in interface `ConnectionEventListener`
      Parameters:
        `message` - the chat message received

    - #### cimLanguageOptionsSupported

          public void cimLanguageOptionsSupported(boolean supported)

      Description copied from interface: `ConnectionEventListener`

      CIM options supported

      Used in products where there is no CIM (like KX-101).

      Informs whether the special macro Ctrl+NumLock is supported by CIM or not.

      This event is sent when registered with the `CIM_LANG_OPTION` event mask.

      Specified by:
        `cimLanguageOptionsSupported` in interface `ConnectionEventListener`
      Parameters:
        `supported` - Is the CIM options supported?
      See Also:
        `RCCore.isCimLanguageOptionsSupported()`

    - #### ethernetGigabitSupported

          public void ethernetGigabitSupported(boolean supported)

      Description copied from interface: `ConnectionEventListener`

      Gigabit ethernet support

      Informs whether Gigabit ethernet is supported or not. This is not supported for KX2-101

      This event is sent when registered with the `ETH_GIGABIT_SUPPORT` event mask.

      Specified by:
        `ethernetGigabitSupported` in interface `ConnectionEventListener`
      Parameters:
        `supported` - Is Gigabit Ethernet supported?
      See Also:
        `RCCore.isEthernetGigabitSupported()`

    - #### ericSessionIdChanged

          public void ericSessionIdChanged(java.lang.String ericSessionId)

      Description copied from interface: `ConnectionEventListener`

      The eric session ID has been received or changed

      This session ID may be used to authenticate Virtual Media, Audio or other sessions. Using the "eric session ID" is the preferred way for authenticating these sessions which are then "bound" to the KVM session in regards to session timeout, connected users overview etc.

      It is only sent to the client if username/password authentication is used for the KVM session

      This is only sent on KX3 3.2 firmware and newer or in KX4.

      This event is sent when registered with the `ERIC_SESSION_ID_CHANGED` event mask.

      Specified by:
        `ericSessionIdChanged` in interface `ConnectionEventListener`
      Parameters:
        `ericSessionId` - The eric session ID
      See Also:
        `RCCore.getEricSessionId()`

    - #### licenseFeatureSupportChanged

          public void licenseFeatureSupportChanged(java.lang.String feature,
                                                   boolean supported)

      Description copied from interface: `ConnectionEventListener`

      Licensed features have changed

      Some features (e.g. "smartcard" or "audio" are not available on LX devices. Therefore, a licensing mechanism is available which reports whether these features are available or not.

      This event is sent when registered with the `LICENSE_SUPPORT` event mask.

      Specified by:
        `licenseFeatureSupportChanged` in interface `ConnectionEventListener`
      Parameters:
        `feature` - The name of the feature
        `supported` - Is the feature available (licensed) or not?
      See Also:
        `RCCore.isFeatureLicensed(String)`

    - #### powerControlEnabledChanged

          public void powerControlEnabledChanged(boolean enabled)

      Description copied from interface: `ConnectionEventListener`

      Power control enabled has changed

      It depends on some KX settings whether Power Control for a port is supported or not. This event is used to inform the client about that.

      This event is sent when registered with the `POWER_CONTROL` event mask.

      Specified by:
        `powerControlEnabledChanged` in interface `ConnectionEventListener`
      Parameters:
        `enabled` - Is Power Control supported for the port connected to?
      See Also:
        `RCCore.isPowerControlEnabled()`, `RCCore.performPowerControl(nn.pp.rccore.RCCore.PowerControlOperations)`

    - #### hideClientMenuEnforcedChanged

          public void hideClientMenuEnforcedChanged(boolean enforced)

      Description copied from interface: `ConnectionEventListener`

      The setting whether hiding the client's tool bar and menu bar is enforced by configuration has changed

      This event is sent when registered with the `HIDE_TOOLBAR` event mask.

      Specified by:
        `hideClientMenuEnforcedChanged` in interface `ConnectionEventListener`
      Parameters:
        `enforced` - true if hiding the client's toolbar and menu bar is enforced, false otherwise
      See Also:
        `RCCore.isHideClientMenuEnforced()`

    - #### portScanSupportChanged

          public void portScanSupportChanged(boolean supported)

      Description copied from interface: `ConnectionEventListener`

      The support for the Port Scan feature has changed

      This event is sent when registered with the `FEATURE_SUPPORT` event mask.

      Specified by:
        `portScanSupportChanged` in interface `ConnectionEventListener`
      Parameters:
        `supported` - true if the Port Scan feature is supported, false otherwise
      See Also:
        `RCCore.isPortScanSupported()`

    - #### switchedToPort

          public void switchedToPort(java.lang.String portId)

      Description copied from interface: `ConnectionEventListener`

      Successfully switched to a target port.

      This event is sent when registered with the `SWITCHED_TO_PORT` event mask.

      Specified by:
        `switchedToPort` in interface `ConnectionEventListener`
      Parameters:
        `portId` - the Port ID switched to

    - #### keyboardEvent

          public void keyboardEvent(int rcKeyCode,
                                    boolean released)

      Description copied from interface: `KeyboardListener`

      Handler delegate for detected keyboard events

      All keyboard events (key presses and releases) that are sent to the remote target are also distributed by this event handler.

      Key codes in this event represent a physical key location as defined internally by the KX implementation.

      Specified by:
        `keyboardEvent` in interface `KeyboardListener`
      Parameters:
        `rcKeyCode` - The physical key code
        `released` - true if the key was released, false if pressed

    - #### hotkeyDetected

          public void hotkeyDetected(int hotkey)

      Description copied from interface: `KeyboardListener`

      A hotkey has been detected.

      In order to set hotkeys, use the `RCCore.setHotkeys(java.util.Map)` method.

      Specified by:
        `hotkeyDetected` in interface `KeyboardListener`
      Parameters:
        `hotkey` - the numeric value associated with the detected hotkey
      See Also:
        `RCCore.setHotkeys(java.util.Map)`

    - #### ctrlAltReleaseDetected

          public void ctrlAltReleaseDetected()

      Description copied from interface: `KeyboardListener`
      The keyboard implementation has detected that Ctrl+Alt has been pressed.
      Specified by:
        `ctrlAltReleaseDetected` in interface `KeyboardListener`

    - #### keyboardMacroSent

          public void keyboardMacroSent(IKeyboardMacro macro)

      Description copied from interface: `KeyboardListener`
      A keyboard macro has been sent to the target
      Specified by:
        `keyboardMacroSent` in interface `KeyboardListener`
      Parameters:
        `macro` - the keyboard macro sent

    - #### audioSupportChanged

          public void audioSupportChanged(boolean support)

      Description copied from interface: `AudioStatusListener`
      Audio support for the target port has changed
      Specified by:
        `audioSupportChanged` in interface `AudioStatusListener`
      Parameters:
        `support` - Is audio supported for the port?
      See Also:
        `RCCore.isAudioSupportEnabled()`

    - #### audioSettingsChanged

          public void audioSettingsChanged(AudioStatusListener.AudioStatus speakerStatus,
                                           AudioStatusListener.AudioStatus micStatus)

      Description copied from interface: `AudioStatusListener`
      Audio settings of the target have changed Note: Audio connections from different clients must all use the same audio format. Thus, all KVM clients are informed about the audio state of the port as soon as one KVM client starts or stops an audio session to help decide the correct audio format.
      Specified by:
        `audioSettingsChanged` in interface `AudioStatusListener`
      Parameters:
        `speakerStatus` - The status of the speaker (playback device)
        `micStatus` - The status of the microphone (capture device)

    - #### hdmiAudioSupportChanged

          public void hdmiAudioSupportChanged(boolean supported)

      Description copied from interface: `AudioStatusListener`
      The support for HDMI audio has changed
      Specified by:
        `hdmiAudioSupportChanged` in interface `AudioStatusListener`
      Parameters:
        `supported` - Is HDMI audio supported for the port?
      See Also:
        `AudioStatusListener.audioSupportChanged(boolean)`, `RCCore.isHdmiAudioSupported()`

    - #### hdmiAudioFormatChanged

          public void hdmiAudioFormatChanged(java.lang.String hdmiAudioFormat)

      Description copied from interface: `AudioStatusListener`
      The HDMI audio format has changed HDMI audio is bound to one audio format only, so the client must not select any other format.
      Specified by:
        `hdmiAudioFormatChanged` in interface `AudioStatusListener`
      Parameters:
        `hdmiAudioFormat` - The HDMI audio format. The string is in the format SampleRate_BitsPerSample_Channels, e.g. 44100_16_2 or 22050_8_1
      See Also:
        `RCCore.getHdmiAudioFormat()`, `RCCore.isAudioSupportEnabled()`, `AudioStatusListener.hdmiAudioSupportChanged(boolean)`

    - #### mouseModeChangeSupportChanged

          public void mouseModeChangeSupportChanged(boolean supported)

      Description copied from interface: `MouseModeListener`

      The support for changing the mouse mode has changed

      This event is sent when registered with the `MOUSE_MODES` event mask.

      Specified by:
        `mouseModeChangeSupportChanged` in interface `MouseModeListener`
      Parameters:
        `supported` - true if changing the mouse modes is supported, false otherwise
      See Also:
        `RCCore.isMouseModeChangeSupported()`

    - #### supportedMouseModesChanged

          public void supportedMouseModesChanged(java.util.List<RCCore.MouseMode> modes)

      Description copied from interface: `MouseModeListener`

      The supported mouse modes for the target port have changed

      This event is sent when registered with the `MOUSE_MODES` event mask.

      Specified by:
        `supportedMouseModesChanged` in interface `MouseModeListener`
      Parameters:
        `modes` - the mouse modes which are supported
      See Also:
        `RCCore.getSupportedMouseModes()`

    - #### mouseModeChanged

          public void mouseModeChanged(RCCore.MouseMode mode)

      Description copied from interface: `MouseModeListener`

      The current mouse mode has changed

      This event is sent when registered with the `MOUSE_MODES` event mask.

      Specified by:
        `mouseModeChanged` in interface `MouseModeListener`
      Parameters:
        `mode` - the new mouse mode
      See Also:
        `RCCore.getMouseMode()`

    - #### singleCursorModeSupportChanged

          public void singleCursorModeSupportChanged(boolean supported)

      Description copied from interface: `MouseModeListener`

      Support for Single Cursor Mode has changed

      This event is sent when registered with the `SINGLE_CURSOR` event mask.

      Specified by:
        `singleCursorModeSupportChanged` in interface `MouseModeListener`
      Parameters:
        `supported` - true if Single Cursor Mode is supported, false otherwise
      See Also:
        `RCCore.isSingleCursorModeSupported()`

    - #### singleCursorModeChanged

          public void singleCursorModeChanged(boolean single)

      Description copied from interface: `MouseModeListener`

      Single cursor mode setting has changed

      This event is sent when registered with the `SINGLE_CURSOR` event mask.

      Specified by:
        `singleCursorModeChanged` in interface `MouseModeListener`
      Parameters:
        `single` - true if single cursor mode is active, false otherwise
      See Also:
        `RCCore.isSingleCursorMode()`

    - #### mouseSyncSupportChanged

          public void mouseSyncSupportChanged(boolean supported)

      Description copied from interface: `MouseModeListener`

      Support for mouse synchronization has changed

      This event is sent when registered with the `MOUSE_SYNC` event mask.

      Specified by:
        `mouseSyncSupportChanged` in interface `MouseModeListener`
      Parameters:
        `supported` - true if mouse synchronization is supported, false otherwise
      See Also:
        `RCCore.isMouseSyncSupported()`

    - #### singleCursorModeReallyActiveChanged

          public void singleCursorModeReallyActiveChanged(boolean active)

      Description copied from interface: `MouseModeListener`
      The state whether the Single Mouse Mode is really active has changed. In case the Single Mouse Mode is set, but it is temporarily left, then it changes to not-active.
      Specified by:
        `singleCursorModeReallyActiveChanged` in interface `MouseModeListener`
      Parameters:
        `active` - true if the single mouse mode changed to be really active, false otherwise
      See Also:
        `RCCore.isSingleCursorModeReallyActive()`

    - #### absoluteMouseEvent

          public void absoluteMouseEvent(int x,
                                         int y,
                                         int buttons)

      Description copied from interface: `MouseEventListener`

      An absolute mouse event has been detected.

      Absolute mouse events contain the absolute coordinates within the KVM console.

      The absolute mouse is always used by the client, independent of the actually set mouse mode, unless Single Mouse mode is used.

      This event is sent when registered with the `ABSOLUTE_EVENTS` event mask.

      Specified by:
        `absoluteMouseEvent` in interface `MouseEventListener`
      Parameters:
        `x` - the X coordinate of the mouse event
        `y` - the Y coordinate of the mouse event
        `buttons` - the buttons which are pressed

    - #### relativeMouseEvent

          public void relativeMouseEvent(int x,
                                         int y,
                                         int buttons)

      Description copied from interface: `MouseEventListener`

      A relative mouse event has been detected.

      Relative mouse events contain the relative mouse movement, relative to the last mouse position. A move 10 pixels to the left, for example, results in a -10 for the X coordinate.

      Relative mouse events are used when the client is in Single Mouse mode.

      This event is sent when registered with the `RELATIVE_EVENTS` event mask.

      Specified by:
        `relativeMouseEvent` in interface `MouseEventListener`
      Parameters:
        `x` - the X coordinate of the mouse event
        `y` - the Y coordinate of the mouse event
        `buttons` - the buttons which are pressed

    - #### mouseWheelEvent

          public void mouseWheelEvent(int rotation,
                                      int buttons)

      Description copied from interface: `MouseEventListener`

      A mouse wheel event has been detected.

      This event is sent when registered with the `WHEEL_EVENTS` event mask.

      Specified by:
        `mouseWheelEvent` in interface `MouseEventListener`
      Parameters:
        `rotation` - the rotation of the mouse wheel
        `buttons` - the buttons which are pressed

    - #### virtualMediaSupportChanged

          public void virtualMediaSupportChanged(boolean supported)

      Description copied from interface: `VirtualMediaInfoListener`

      Virtual media support (in general) has changed

      This is obsolete. All KX devices do support Virtual Media.

      This event is sent when registered with the `VM_GENERAL` event mask.

      Specified by:
        `virtualMediaSupportChanged` in interface `VirtualMediaInfoListener`
      Parameters:
        `supported` - true if Virtual Media is supported, false otherwise
      See Also:
        `RCCore.isVirtualMediaSupported()`

    - #### virtualMediaReadOnlyChanged

          public void virtualMediaReadOnlyChanged(boolean readOnly)

      Description copied from interface: `VirtualMediaInfoListener`

      Virtual media read-only enforcement has changed

      This has been superseded by IKvmPort.VmPermissions enumeration and according IKvmPort.VmPermission value. Do not use this anymore.

      This event is sent when registered with the `VM_GENERAL` event mask.

      Specified by:
        `virtualMediaReadOnlyChanged` in interface `VirtualMediaInfoListener`
      Parameters:
        `readOnly` - true if Virtual Media is forced to read-only, false otherwise
      See Also:
        `RCCore.isVirtualMediaReadOnly()`

    - #### virtualMediaDriveCountChanged

          public void virtualMediaDriveCountChanged(int driveCount)

      Description copied from interface: `VirtualMediaInfoListener`

      The count of emulated virtual media drives has changed

      This has been superseded by `VirtualMediaInfoListener.virtualMediaConfigChanged(IVMConfigInfo)` event handler. Do not use this anymore.

      This event is sent when registered with the `VM_GENERAL` event mask.

      Specified by:
        `virtualMediaDriveCountChanged` in interface `VirtualMediaInfoListener`
      Parameters:
        `driveCount` - the number of Virtual Media drives
      See Also:
        `RCCore.getVirtualMediaDriveCount()`, `VirtualMediaInfoListener.virtualMediaConfigChanged(IVMConfigInfo)`, `RCCore.getVMConfigInfo()`

    - #### virtualMediaConfigChanged

          public void virtualMediaConfigChanged(IVMConfigInfo config)

      Description copied from interface: `VirtualMediaInfoListener`

      The Virtual Media configuration has changed

      This event is sent when registered with the `USB_PROFILE` event mask.

      Specified by:
        `virtualMediaConfigChanged` in interface `VirtualMediaInfoListener`
      Parameters:
        `config` - the updated Virtual Media configuration
      See Also:
        `RCCore.getVMConfigInfo()`

    - #### usbProfileListChanged

          public void usbProfileListChanged(IUsbProfileList profileList)

      Description copied from interface: `VirtualMediaInfoListener`

      The list of USB profiles supported by the target port has changed

      This event is sent when registered with the `USB_PROFILE` event mask.

      Specified by:
        `usbProfileListChanged` in interface `VirtualMediaInfoListener`
      Parameters:
        `profileList` - the list of supported USB profiles
      See Also:
        `IUsbProfileList`, `RCCore.getUsbProfileList()`

    - #### remoteIsoSupportChanged

          public void remoteIsoSupportChanged(boolean supported)

      Description copied from interface: `VirtualMediaInfoListener`

      Support for remote ISO mounting has changed

      This event is sent when registered with the `REMOTE_ISO` event mask.

      Specified by:
        `remoteIsoSupportChanged` in interface `VirtualMediaInfoListener`
      Parameters:
        `supported` - true if remote ISO mounting is supported, false otherwise
      See Also:
        `RCCore.isVirtualMediaRemoteIsoSupported()`

    - #### remoteIsoListChanged

          public void remoteIsoListChanged(java.util.List<IVMMountRequestResponse> list)

      Description copied from interface: `VirtualMediaInfoListener`

      The list of remote mountable ISO images has changed

      This event is sent when registered with the `REMOTE_ISO` event mask.

      Specified by:
        `remoteIsoListChanged` in interface `VirtualMediaInfoListener`
      Parameters:
        `list` - the list of remote mountable ISO images
      See Also:
        `VirtualMediaInfoListener.remoteIsoSupportChanged(boolean)`, `RCCore.getVirtualMediaRemoteIsoList()`

    - #### remoteIsoMountFinished

          public void remoteIsoMountFinished(IVMMountRequestResponse mount)

      Description copied from interface: `VirtualMediaInfoListener`

      Remote ISO mounting has finished

      The mounting was either successful or an error occurred. See IVMMountRequestResponse.NotificationEvent for the result value.

      This event is sent when registered with the `REMOTE_ISO` event mask.

      Specified by:
        `remoteIsoMountFinished` in interface `VirtualMediaInfoListener`
      Parameters:
        `mount` - the information about the result of the mount operation
      See Also:
        `RCCore.mountOrUnmountRemoteIso(IVMMountRequestResponse)`, `IVMMountRequestResponse`

    - #### smartCardSupportedChanged

          public void smartCardSupportedChanged(boolean supported)

      Description copied from interface: `SmartCardStatusListener`
      The support for SmartCard has changed
      Specified by:
        `smartCardSupportedChanged` in interface `SmartCardStatusListener`
      Parameters:
        `supported` - true if SmartCard is supported, false otherwise
      See Also:
        `RCCore.isSmartCardSupportEnabled()`

    - #### terminalBlockSupportedChanged

          public void terminalBlockSupportedChanged(boolean supported)

      Description copied from interface: `TerminalBlockListener`
      The support for the Terminal Block feature has changed
      Specified by:
        `terminalBlockSupportedChanged` in interface `TerminalBlockListener`
      Parameters:
        `supported` - true if Terminal Block feature is supported, false otherwise.
      See Also:
        `RCCore.isTerminalBlockSupportEnabled()`

    - #### terminalBlockPulseSupportedChanged

          public void terminalBlockPulseSupportedChanged(boolean supported)

      Description copied from interface: `TerminalBlockListener`
      The support for the Terminal Block Pulse feature has changed
      Specified by:
        `terminalBlockPulseSupportedChanged` in interface `TerminalBlockListener`
      Parameters:
        `supported` - true if Terminal Block Pulse feature is supported, false otherwise.
      See Also:
        `RCCore.isTerminalBlockPulseSupportEnabled()`

    - #### terminalBlockConfigChanged

          public void terminalBlockConfigChanged(ITerminalBlockConfig config)

      Description copied from interface: `TerminalBlockListener`
      The Terminal Block configuration has changed
      Specified by:
        `terminalBlockConfigChanged` in interface `TerminalBlockListener`
      Parameters:
        `config` - the new Terminal Block configuration for the port
      See Also:
        `RCCore.getTerminalBlockConfig()`

    - #### terminalBlockInputSettingsChanged

          public void terminalBlockInputSettingsChanged(ITerminalBlockInputSettings settings)

      Description copied from interface: `TerminalBlockListener`
      The Terminal Block input settings or state for the port have changed
      Specified by:
        `terminalBlockInputSettingsChanged` in interface `TerminalBlockListener`
      Parameters:
        `settings` - The new Terminal Block input settings for the port
      See Also:
        `RCCore.getTerminalBlockInputSettings()`

    - #### vncPasswordRequired

          public java.lang.String vncPasswordRequired()

      Description copied from interface: `VncListener`
      A password is required (but not given) for the VNC connection. The event listener should return the password. If none of the registered listeners return a password (i.e. not null), then the VNC session will be terminated with an authentication failure.
      Specified by:
        `vncPasswordRequired` in interface `VncListener`
      Returns:
        the VNC password
      See Also:
        `RCCore.connectVnc(String, int, String, String)`, `VncAuthenticationFailedException`

    - #### textNotification

          public static NotificationListener textNotification(RCAdapter.Consumer<java.lang.String> c)

    - #### receivedNotification

          public static NotificationListener receivedNotification(RCAdapter.Consumer<INotificationEvent> c)

    - #### encodingChangeAllowed

          public static VideoEventListener encodingChangeAllowed(RCAdapter.Consumer<java.lang.Boolean> c)

    - #### encodingAutoSupportedChanged

          public static VideoEventListener encodingAutoSupportedChanged(RCAdapter.Consumer<java.lang.Boolean> c)

    - #### encodingLossySupportedChanged

          public static VideoEventListener encodingLossySupportedChanged(RCAdapter.Consumer<java.lang.Boolean> c)

    - #### encodingIctSupportedChanged

          public static VideoEventListener encodingIctSupportedChanged(RCAdapter.Consumer<java.lang.Boolean> c)

    - #### encodingIct4kSupportedChanged

          public static VideoEventListener encodingIct4kSupportedChanged(RCAdapter.Consumer<java.lang.Boolean> c)

    - #### encodingIct4k444ForAllResolutionsSupportedChanged

          public static VideoEventListener encodingIct4k444ForAllResolutionsSupportedChanged(RCAdapter.Consumer<java.lang.Boolean> c)

    - #### supportedEncodingPredefinesChanged

          public static VideoEventListener supportedEncodingPredefinesChanged(RCAdapter.Consumer<java.util.List<RCCore.Predefine>> c)

    - #### supportedEncodingColorDepthsChanged

          public static VideoEventListener supportedEncodingColorDepthsChanged(RCAdapter.Consumer<java.util.List<RCCore.ColorDepth>> c)

    - #### supportedEncodingCompressionsChanged

          public static VideoEventListener supportedEncodingCompressionsChanged(RCAdapter.Consumer<java.util.List<RCCore.Compression>> c)

    - #### supportedEncodingColorSubsamplingsChanged

          public static VideoEventListener supportedEncodingColorSubsamplingsChanged(RCAdapter.Consumer<java.util.List<RCCore.ColorSubsampling>> c)

    - #### encodingAutoChanged

          public static VideoEventListener encodingAutoChanged(RCAdapter.Consumer<java.lang.Boolean> c)

    - #### encodingColorDepthChanged

          public static VideoEventListener encodingColorDepthChanged(RCAdapter.Consumer<RCCore.ColorDepth> c)

    - #### encodingCompressionChanged

          public static VideoEventListener encodingCompressionChanged(RCAdapter.Consumer<RCCore.Compression> c)

    - #### encodingColorSubsamplingChanged

          public static VideoEventListener encodingColorSubsamplingChanged(RCAdapter.Consumer<RCCore.ColorSubsampling> c)

    - #### encodingActualColorSubsamplingChanged

          public static VideoEventListener encodingActualColorSubsamplingChanged(RCAdapter.Consumer<RCCore.ColorSubsampling> c)

    - #### encodingLossyChanged

          public static VideoEventListener encodingLossyChanged(RCAdapter.Consumer<java.lang.Boolean> c)

    - #### resolutionChanged

          public static VideoEventListener resolutionChanged(RCAdapter.Consumer<java.awt.Dimension> c)

    - #### videoSettingsSupportChanged

          public static VideoEventListener videoSettingsSupportChanged(RCAdapter.Consumer<java.lang.Boolean> c)

    - #### videoAutoAdjustSupportChanged

          public static VideoEventListener videoAutoAdjustSupportChanged(RCAdapter.Consumer<java.lang.Boolean> c)

    - #### colorCalibrationSupportChanged

          public static VideoEventListener colorCalibrationSupportChanged(RCAdapter.Consumer<java.lang.Boolean> c)

    - #### videoRefreshSupportChanged

          public static VideoEventListener videoRefreshSupportChanged(RCAdapter.Consumer<java.lang.Boolean> c)

    - #### clearCacheSupportChanged

          public VideoEventListener clearCacheSupportChanged(RCAdapter.Consumer<java.lang.Boolean> c)

    - #### videoSettingsUpdated

          public static VideoEventListener videoSettingsUpdated(RCAdapter.Consumer<IVideoSettings> c)

    - #### osdMessageReceived

          public static VideoEventListener osdMessageReceived(RCAdapter.BiConsumer<java.lang.String,java.lang.Boolean> c)

    - #### videoDataUpdated

          public static VideoEventListener videoDataUpdated(RCAdapter.Consumer<java.awt.Rectangle> c)

    - #### rendererTypeChanged

          public static VideoEventListener rendererTypeChanged(RCAdapter.Consumer<java.lang.String> c)

    - #### renderedFramesPerSecond

          public static VideoEventListener renderedFramesPerSecond(RCAdapter.Consumer<java.lang.Integer> c)

    - #### rawVideoSnapshotSupportedChanged

          public static VideoEventListener rawVideoSnapshotSupportedChanged(RCAdapter.BiConsumer<java.lang.Boolean,java.util.List<Snapshot.ColorFormat>> c)

    - #### rawVideoSnapshotReceived

          public static VideoEventListener rawVideoSnapshotReceived(RCAdapter.BiConsumer<Snapshot,java.awt.image.BufferedImage> c)

    - #### videoStatusChanged

          public static VideoEventListener videoStatusChanged(RCAdapter.Consumer<RCCore.VideoStatus> c)

    - #### keyboardMacroListChanged

          public static KeyboardInfoListener keyboardMacroListChanged(RCAdapter.Consumer<java.util.List<IKeyboardMacro>> c)

    - #### softKeyboardMappingChanged

          public static KeyboardInfoListener softKeyboardMappingChanged(RCAdapter.Consumer<java.util.Locale> c)

    - #### localKeyboardMappingChanged

          public static KeyboardInfoListener localKeyboardMappingChanged(RCAdapter.Consumer<java.util.Locale> c)

    - #### keyboardLedStateChanged

          public static KeyboardInfoListener keyboardLedStateChanged(RCAdapter.Consumer<java.util.List<RCCore.KeyboardLed>> c)

    - #### sunKeyboardSupported

          public static KeyboardInfoListener sunKeyboardSupported(RCAdapter.Consumer<java.lang.Boolean> c)

    - #### disconnected

          public static ConnectionEventListener disconnected(RCAdapter.Consumer<java.lang.Exception> c)

    - #### connected

          public static ConnectionEventListener connected(java.lang.Runnable r)

    - #### portListChanged

          public static ConnectionEventListener portListChanged(RCAdapter.Function<java.util.List<? extends IKvmPort>,java.lang.String> f)

    - #### portListRefreshSupportChanged

          public static ConnectionEventListener portListRefreshSupportChanged(RCAdapter.Consumer<java.lang.Boolean> c)

    - #### serverSessionIdChanged

          public static ConnectionEventListener serverSessionIdChanged(RCAdapter.Consumer<java.lang.Integer> c)

    - #### connectedUsersChanged

          public static ConnectionEventListener connectedUsersChanged(RCAdapter.Consumer<java.lang.Integer> c)

    - #### monitorModePermissionChanged

          public static ConnectionEventListener monitorModePermissionChanged(RCAdapter.Consumer<java.lang.Boolean> c)

    - #### monitorModeChanged

          public static ConnectionEventListener monitorModeChanged(RCAdapter.Consumer<java.lang.Boolean> c)

    - #### exclusiveModePermissionChanged

          public static ConnectionEventListener exclusiveModePermissionChanged(RCAdapter.Consumer<java.lang.Boolean> c)

    - #### exclusiveModeChanged

          public static ConnectionEventListener exclusiveModeChanged(RCAdapter.Consumer<java.lang.Boolean> c)

    - #### languageChanged

          public static ConnectionEventListener languageChanged(RCAdapter.Consumer<java.util.Locale> c)

    - #### protocolVersionChanged

          public static ConnectionEventListener protocolVersionChanged(RCAdapter.Consumer<java.lang.String> c)

    - #### deviceNameChanged

          public static ConnectionEventListener deviceNameChanged(RCAdapter.Consumer<java.lang.String> c)

    - #### framesPerSecond

          public static ConnectionEventListener framesPerSecond(RCAdapter.Consumer<java.lang.Integer> c)

    - #### incomingTrafficSpeed

          public static ConnectionEventListener incomingTrafficSpeed(RCAdapter.Consumer<java.lang.Integer> c)

    - #### outgoingTrafficSpeed

          public static ConnectionEventListener outgoingTrafficSpeed(RCAdapter.Consumer<java.lang.Integer> c)

    - #### chatWelcomeChanged

          public static ConnectionEventListener chatWelcomeChanged(RCAdapter.Consumer<java.lang.String> c)

    - #### newChatMessage

          public static ConnectionEventListener newChatMessage(RCAdapter.Consumer<java.lang.String> c)

    - #### cimLanguageOptionsSupported

          public static ConnectionEventListener cimLanguageOptionsSupported(RCAdapter.Consumer<java.lang.Boolean> c)

    - #### ethernetGigabitSupported

          public static ConnectionEventListener ethernetGigabitSupported(RCAdapter.Consumer<java.lang.Boolean> c)

    - #### ericSessionIdChanged

          public static ConnectionEventListener ericSessionIdChanged(RCAdapter.Consumer<java.lang.String> c)

    - #### licenseFeatureSupportChanged

          public static ConnectionEventListener licenseFeatureSupportChanged(RCAdapter.BiConsumer<java.lang.String,java.lang.Boolean> c)

    - #### powerControlEnabledChanged

          public static ConnectionEventListener powerControlEnabledChanged(RCAdapter.Consumer<java.lang.Boolean> c)

    - #### hideClientMenuEnforcedChanged

          public static ConnectionEventListener hideClientMenuEnforcedChanged(RCAdapter.Consumer<java.lang.Boolean> c)

    - #### portScanSupportChanged

          public static ConnectionEventListener portScanSupportChanged(RCAdapter.Consumer<java.lang.Boolean> c)

    - #### switchedToPort

          public static ConnectionEventListener switchedToPort(RCAdapter.Consumer<java.lang.String> c)

    - #### textNotification

          public static KeyboardListener textNotification(RCAdapter.BiConsumer<java.lang.Integer,java.lang.Boolean> c)

    - #### hotkeyDetected

          public static KeyboardListener hotkeyDetected(RCAdapter.Consumer<java.lang.Integer> c)

    - #### ctrlAltReleaseDetected

          public static KeyboardListener ctrlAltReleaseDetected(java.lang.Runnable r)

    - #### keyboardMacroSent

          public static KeyboardListener keyboardMacroSent(RCAdapter.Consumer<IKeyboardMacro> c)

    - #### audioSupportChanged

          public static AudioStatusListener audioSupportChanged(RCAdapter.Consumer<java.lang.Boolean> c)

    - #### audioSettingsChanged

          public static AudioStatusListener audioSettingsChanged(RCAdapter.BiConsumer<AudioStatusListener.AudioStatus,AudioStatusListener.AudioStatus> c)

    - #### hdmiAudioSupportChanged

          public static AudioStatusListener hdmiAudioSupportChanged(RCAdapter.Consumer<java.lang.Boolean> c)

    - #### hdmiAudioFormatChanged

          public static AudioStatusListener hdmiAudioFormatChanged(RCAdapter.Consumer<java.lang.String> c)

    - #### mouseModeChangeSupportChanged

          public static MouseModeListener mouseModeChangeSupportChanged(RCAdapter.Consumer<java.lang.Boolean> c)

    - #### supportedMouseModesChanged

          public static MouseModeListener supportedMouseModesChanged(RCAdapter.Consumer<java.util.List<RCCore.MouseMode>> c)

    - #### mouseModeChanged

          public static MouseModeListener mouseModeChanged(RCAdapter.Consumer<RCCore.MouseMode> c)

    - #### singleCursorModeSupportChanged

          public static MouseModeListener singleCursorModeSupportChanged(RCAdapter.Consumer<java.lang.Boolean> c)

    - #### singleCursorModeChanged

          public static MouseModeListener singleCursorModeChanged(RCAdapter.Consumer<java.lang.Boolean> c)

    - #### mouseSyncSupportChanged

          public static MouseModeListener mouseSyncSupportChanged(RCAdapter.Consumer<java.lang.Boolean> c)

    - #### singleCursorModeReallyActiveChanged

          public static MouseModeListener singleCursorModeReallyActiveChanged(RCAdapter.Consumer<java.lang.Boolean> c)

    - #### absoluteMouseEvent

          public static MouseEventListener absoluteMouseEvent(RCAdapter.TriConsumer<java.lang.Integer,java.lang.Integer,java.lang.Integer> c)

    - #### relativeMouseEvent

          public static MouseEventListener relativeMouseEvent(RCAdapter.TriConsumer<java.lang.Integer,java.lang.Integer,java.lang.Integer> c)

    - #### mouseWheelEvent

          public static MouseEventListener mouseWheelEvent(RCAdapter.BiConsumer<java.lang.Integer,java.lang.Integer> c)

    - #### virtualMediaSupportChanged

          public static VirtualMediaInfoListener virtualMediaSupportChanged(RCAdapter.Consumer<java.lang.Boolean> c)

    - #### virtualMediaReadOnlyChanged

          public static VirtualMediaInfoListener virtualMediaReadOnlyChanged(RCAdapter.Consumer<java.lang.Boolean> c)

    - #### virtualMediaDriveCountChanged

          public static VirtualMediaInfoListener virtualMediaDriveCountChanged(RCAdapter.Consumer<java.lang.Integer> c)

    - #### virtualMediaConfigChanged

          public static VirtualMediaInfoListener virtualMediaConfigChanged(RCAdapter.Consumer<IVMConfigInfo> c)

    - #### usbProfileListChanged

          public static VirtualMediaInfoListener usbProfileListChanged(RCAdapter.Consumer<IUsbProfileList> c)

    - #### remoteIsoSupportChanged

          public static VirtualMediaInfoListener remoteIsoSupportChanged(RCAdapter.Consumer<java.lang.Boolean> c)

    - #### remoteIsoListChanged

          public static VirtualMediaInfoListener remoteIsoListChanged(RCAdapter.Consumer<java.util.List<IVMMountRequestResponse>> c)

    - #### remoteIsoMountFinished

          public static VirtualMediaInfoListener remoteIsoMountFinished(RCAdapter.Consumer<IVMMountRequestResponse> c)

    - #### smartCardSupportedChanged

          public static SmartCardStatusListener smartCardSupportedChanged(RCAdapter.Consumer<java.lang.Boolean> c)

    - #### terminalBlockSupportedChanged

          public static TerminalBlockListener terminalBlockSupportedChanged(RCAdapter.Consumer<java.lang.Boolean> c)

    - #### terminalBlockConfigChanged

          public static TerminalBlockListener terminalBlockConfigChanged(RCAdapter.Consumer<ITerminalBlockConfig> c)

    - #### terminalBlockInputSettingsChanged

          public static TerminalBlockListener terminalBlockInputSettingsChanged(RCAdapter.Consumer<ITerminalBlockInputSettings> c)

    - #### vncPasswordRequired

          public static VncListener vncPasswordRequired(RCAdapter.Supplier<java.lang.String> f)

Copyright © 2025 Raritan Inc. All Rights Reserved.