From 8f5a4106d322e3bf53a7dc22baa02b0a7524da01 Mon Sep 17 00:00:00 2001 From: sithlord48 Date: Sun, 1 Feb 2026 09:55:41 -0500 Subject: [PATCH] doc: use computer to replace screen when describing options --- doc/user/configuration.md | 88 +++++++++++++++++------------------ src/lib/base/DirectionTypes.h | 14 +++--- src/lib/base/EventTypes.h | 24 +++++----- 3 files changed, 63 insertions(+), 63 deletions(-) diff --git a/doc/user/configuration.md b/doc/user/configuration.md index 3f4aff227..b0a413c10 100644 --- a/doc/user/configuration.md +++ b/doc/user/configuration.md @@ -72,7 +72,7 @@ This section contains general options it will begin with `[core]` | port | port # | Port to use when connecting [default: 24800 | | preventSleep | `true` or `false` | Prevent sleep when Deskflow is active [default: false] | | processMode | `1` or `0` | The mode we use to start the process Service or Desktop | -| screenName | string | Name used to identify the screen [default: machine's hostname] | +| screenName | string | Name used to identify the computer [default: machine's hostname] | | useHooks | `true` or `false` | If Windows uses hooks or not [default: true] | | language | 639 language | The language to display the GUI in [default: en] | | wlClipboard | `true` or `false` | When true the wl-clipboard backend will be enabled [default: false] | @@ -298,7 +298,7 @@ The file is parsed top to bottom and names cannot be used before they've been de ### The screens section -''args'' is a list of screen names, one name per line, each followed by a colon. Names are arbitrary strings but they must be unique. The hostname of each computer is recommended. (This is the computer's network name on win32 and the name reported by the program hostname on Unix and OS X. Note that OS X may append .local to the name you gave your computer; e.g. somehost.local.) There must be a screen name for the server and each client. Each screen can specify a number of options. Options have the form name = value and are listed one per line after the screen name. +''args'' is a list of computer names, one name per line, each followed by a colon. Names are arbitrary strings but they must be unique. The hostname of each computer is recommended. (This is the computer's network name on win32 and the name reported by the program hostname on Unix and OS X. Note that OS X may append .local to the name you gave your computer; e.g. somehost.local.) There must be a computer name for the server and each client. Each computer can specify a number of options. Options have the form name = value and are listed one per line after the computer name. ``` section: screens @@ -311,29 +311,29 @@ section: screens end ``` -This declares three screens named ''moe'', ''larry'', and ''curly''. Screen ''larry'' has half-duplex ''Caps Lock'' and ''Num Lock'' keys (see below) and screen ''curly'' converts the ''Meta'' modifier key to the ''Alt'' modifier key. +This declares three computers named ''moe'', ''larry'', and ''curly''. Computer ''larry'' has half-duplex ''Caps Lock'' and ''Num Lock'' keys (see below) and computer ''curly'' converts the ''Meta'' modifier key to the ''Alt'' modifier key. #### screen options -A screen can have the following options: +A computer can have the following options: |Option | Valid Values| Description| |:----------|:-----------:|:-----------| -|halfDuplexCapsLock| `true` or `false` | This computer has a ''Caps Lock'' key that doesn't report a press and a release event when the user presses it but instead reports a press event when it's turned on and a release event when it's turned off. If ''Caps Lock'' acts strangely on all screens then you may need to set this option to true on the server screen. If it acts strangely on one screen then that screen may need the option set to true.| -|halfDuplexNumLock | `true` or `false` | This computer has a ''Num Lock'' key that doesn't report a press and a release event when the user presses it but instead reports a press event when it's turned on and a release event when it's turned off. If ''Num Lock'' acts strangely on all screens then you may need to set this option to true on the server screen. If it acts strangely on one screen then that screen may need the option set to true.| -|halfDuplexScrollLock| `true` or `false`| This computer has a ''Scroll Lock'' key that doesn't report a press and a release event when the user presses it but instead reports a press event when it's turned on and a release event when it's turned off. If ''Scroll Lock'' acts strangely on all screens then you may need to set this option to true on the server screen. If it acts strangely on one screen then that screen may need the option set to true.| +|halfDuplexCapsLock| `true` or `false` | This computer has a ''Caps Lock'' key that doesn't report a press and a release event when the user presses it but instead reports a press event when it's turned on and a release event when it's turned off. If ''Caps Lock'' acts strangely on all computers then you may need to set this option to true on the server. If it acts strangely on one computer then that computer may need the option set to true.| +|halfDuplexNumLock | `true` or `false` | This computer has a ''Num Lock'' key that doesn't report a press and a release event when the user presses it but instead reports a press event when it's turned on and a release event when it's turned off. If ''Num Lock'' acts strangely on all computers then you may need to set this option to true on the server. If it acts strangely on one computer then that computer may need the option set to true.| +|halfDuplexScrollLock| `true` or `false`| This computer has a ''Scroll Lock'' key that doesn't report a press and a release event when the user presses it but instead reports a press event when it's turned on and a release event when it's turned off. If ''Scroll Lock'' acts strangely on all computers then you may need to set this option to true on the server. If it acts strangely on one computer then that computer may need the option set to true.| |xtestIsXineramaUnaware| `true` or `false`| This option works around a bug in the XTest extension when used in combination with Xinerama. It affects X11 clients only. Not all versions of the XTest extension are aware of the Xinerama extension. As a result, they do not move the mouse correctly when using multiple Xinerama screens. This option is currently ''true'' by default. If you know your XTest extension is Xinerama aware then set this option to ''false''.| -|preserveFocus| `true` or `false` | When true don't drop focus when switching screens +|preserveFocus| `true` or `false` | When true don't drop focus when switching computers |switchCorners| corners |See switchCorners below.| |switchCornerSize | integer | see switchCornerSize below.| -|shift | shift ctrl alt meta super none | Map the server's shift modifer to different key on a client screen| -|ctrl | shift ctrl alt meta super none | Map the server's ctrl modifer to different key on a client screen| -|alt | shift ctrl alt meta super none | Map the server's alt modifer to different key on a client screen| -|meta| shift ctrl alt meta super none | Map the server's meta modifer to different key on a client screen| -|super| shift ctrl alt meta super none | Map the server's super modifer to different key on a client screen| +|shift | shift ctrl alt meta super none | Map the server's shift modifer to different key on a client computer| +|ctrl | shift ctrl alt meta super none | Map the server's ctrl modifer to different key on a client computer| +|alt | shift ctrl alt meta super none | Map the server's alt modifer to different key on a client computer| +|meta| shift ctrl alt meta super none | Map the server's meta modifer to different key on a client computer| +|super| shift ctrl alt meta super none | Map the server's super modifer to different key on a client computer| ### aliases section -''args'' is a list of screen names just like in the ''screens'' section except each screen is followed by a list of aliases, one per line, not followed by a colon. An ''alias'' is a screen name and must be unique. During screen name lookup each alias is equivalent to the screen name it aliases. So a client can connect using its canonical screen name or any of its aliases. +''args'' is a list of computer names just like in the ''screens'' section except each computer is followed by a list of aliases, one per line, not followed by a colon. An ''alias'' is a computer name and must be unique. When searching for computers each alias is equivalent to the computer name it aliases. So a client can connect using its canonical computer name or any of its aliases. ``` section: aliases @@ -344,20 +344,20 @@ section: aliases end ``` -Screen ''larry'' is also known as ''larry.stooges.com'' and can connect as either name. Screen ''curly'' is also known as ''shemp'' (hey, it's just an example). +Computer ''larry'' is also known as ''larry.stooges.com'' and can connect as either name. Computer ''curly'' is also known as ''shemp'' (hey, it's just an example). ### links secion -''args'' is a list of screen names just like in the ''screens'' section except each screen is followed by a list of links, one per line. Each link has the form: +''args'' is a list of computer names just like in the ''screens'' section except each computer is followed by a list of links, one per line. Each link has the form: ``` {left|right|up|down}[] = name[] ``` -A link indicates which screen is adjacent in the given direction. +A link indicates which computer is adjacent in the given direction. -Each side of a link can specify a range which defines a portion of an edge. A range on the direction is the portion of edge you can leave from while a range on the screen is the portion of edge you'll enter into. Ranges are optional and default to the entire edge. All ranges on a particular direction of a particular screen must not overlap. +Each side of a link can specify a range which defines a portion of an edge. A range on the direction is the portion of edge you can leave from while a range on the computer is the portion of edge you'll enter into. Ranges are optional and default to the entire edge. All ranges on a particular direction of a particular computer must not overlap. -A ''range'' is written as (start,end). Both ''start'' and ''end'' are percentages in the range 0 to 100, inclusive. The start must be less than the end. 0 is the left or top of an edge and 100 is the right or bottom. +A ''range'' is written as (start,end). Both ''start'' and ''end'' are percentages in the range 0 to 100, inclusive. The start must be less than the end. 0 is the left or top of an edge and 100 is the right or bottom. ``` section: links @@ -373,9 +373,9 @@ section: links end ``` -This indicates that screen ''larry'' is to the right of screen ''moe'' (so moving the cursor off the right edge of ''moe'' would make it appear at the left edge of ''larry''), the left half of curly is above the right half of ''moe'', ''moe'' is to the left of ''larry'' (edges are not necessarily symmetric so you have to provide both directions), the right half of curly is above the left half of ''larry'', all of ''moe'' is below the left half of ''curly'', and the left half of ''larry'' is below the right half of ''curly''. +This indicates that computer ''larry'' is to the right of computer ''moe'' (so moving the cursor off the right edge of ''moe'' would make it appear at the left edge of ''larry''), the left half of curly is above the right half of ''moe'', ''moe'' is to the left of ''larry'' (edges are not necessarily symmetric so you have to provide both directions), the right half of curly is above the left half of ''larry'', all of ''moe'' is below the left half of ''curly'', and the left half of ''larry'' is below the right half of ''curly''. -Note that links do not have to be symmetrical; for instance, here the edge between ''moe'' and ''curly'' maps to different ranges depending on if you're going up or down. In fact links don't have to be bidirectional. You can configure the right of ''moe'' to go to ''larry'' without a link from the left of ''larry'' to ''moe''. It's possible to configure a screen with no outgoing links; the cursor will get stuck on that screen unless you have a hot key configured to switch off of that screen. +Note that links do not have to be symmetrical; for instance, here the edge between ''moe'' and ''curly'' maps to different ranges depending on if you're going up or down. In fact links don't have to be bidirectional. You can configure the right of ''moe'' to go to ''larry'' without a link from the left of ''larry'' to ''moe''. It's possible to configure a computer with no outgoing links; the cursor will get stuck on that computer unless you have a hot key configured to switch off of that computer. ### options section @@ -395,17 +395,17 @@ end |:--------|:-----------:|:-----------| |protocol | barrier or synergy| The protocol to use when saying hello to clients. Can be set to barrier or synergy. If not set barrier is used as the default | |heartbeat| integer (N) | The server will expect each client to send a message no less than every `N` milliseconds. If no message arrives from a client within `3N` seconds the server forces that client to disconnect. If deskflow fails to detect clients disconnecting while the server is sleeping or vice versa, try using this option. | -|switchCorners | none top-left top-right bottom-left bottom-right left right top bottom all | Deskflow won't switch screens when the mouse reaches the edge of the screen if it's in a listed corner. The size of all corners is given by the `switchCornerSize` option. The first name in the list is one of the above names and defines the initial set of corners. Subsequent names are prefixed with + or - to add the corner to or remove the corner from the set, respectively. For example: `all -left +top-left` starts will all corners, removes the left corners (top and bottom) then adds the top-left back in, resulting in the top-left, bottom-left and bottom-right corners.| +|switchCorners | none top-left top-right bottom-left bottom-right left right top bottom all | Deskflow won't switch computers when the mouse reaches the edge of the computer if it's in a listed corner. The size of all corners is given by the `switchCornerSize` option. The first name in the list is one of the above names and defines the initial set of corners. Subsequent names are prefixed with + or - to add the corner to or remove the corner from the set, respectively. For example: `all -left +top-left` starts will all corners, removes the left corners (top and bottom) then adds the top-left back in, resulting in the top-left, bottom-left and bottom-right corners.| |switchCornerSize | integer (N) | Sets the size of all corners in pixels. The cursor must be within `N` pixels of the corner to be considered to be in the corner.| -|switchDelay | integer| Deskflow won't switch screens when the mouse reaches the edge of a screen unless it stays on the edge for `N` milliseconds. This helps prevent unintentional switching when working near the edge of a screen.| -|switchDoubleTap| integer(N) | Deskflow won't switch screens when the mouse reaches the edge of a screen unless it's moved away from the edge and then back to the edge within `N` milliseconds. With the option you have to quickly tap the edge twice to switch. This helps prevent unintentional switching when working near the edge of a screen.| -|screenSaverSync| `true` or `false`| ''Note: Removed in v1.14.1'' If set to ''false'' then Deskflow won't synchronize screen savers. Client screen savers will start according to their individual configurations. The server screen saver won't start if there is input, even if that input is directed toward a client screen.| -|relativeMouseMoves| `true` or `false`| If set to ''true'' then secondary screens move the mouse using relative rather than absolute mouse moves when and only when the cursor is locked to the screen (by ''Scroll Lock'' or a configured hot key). This is intended to make Deskflow work better with certain games. If set to ''false'' or not set then all mouse moves are absolute.| +|switchDelay | integer| Deskflow won't switch computers when the mouse reaches edge of a computer unless it stays on the edge for `N` milliseconds. This helps prevent unintentional switching when working near an edge.| +|switchDoubleTap| integer(N) | Deskflow won't switch computers when the mouse reaches the edge of a computer unless it's moved away from the edge and then back to the edge within `N` milliseconds. With the option you have to quickly tap the edge twice to switch. This helps prevent unintentional switching when working near the edge.| +|screenSaverSync| `true` or `false`| ''Note: Removed in v1.14.1'' If set to ''false'' then Deskflow won't synchronize screen savers. Client screen savers will start according to their individual configurations. The server screen saver won't start if there is input, even if that input is directed toward a client computer.| +|relativeMouseMoves| `true` or `false`| If set to ''true'' then secondary computers move the mouse using relative rather than absolute mouse moves when and only when the cursor is locked to the computer (by ''Scroll Lock'' or a configured hot key). This is intended to make Deskflow work better with certain games. If set to ''false'' or not set then all mouse moves are absolute.| |clipboardSharing| `true` or `false`|If set to ''true'' then clipboard sharing will be enabled and the ''clipboardSharingSize'' setting will be used. If set to false, then clipboard sharing will be disabled and the the ''clipboardSharingSize'' setting will be ignored.| |clipboardSharingSize| integer (N)| Deskflow will send a maximum of `N` kilobytes of clipboard data to another computer when the mouse transitions to that computer.| |win32KeepForeground | `true` or `false`| If set to ''true'' (the default), Deskflow will grab the foreground focus on a Windows server (thereby putting all other windows in the background) upon switching to a client. If set to ''false'', it will leave the currently foreground window in the foreground. Deskflow grabs the focus to avoid issues with other apps interfering with Deskflow's ability to read the hardware inputs. | -|keystroke(key) | actions | Binds the ''key'' combination key to the given ''actions''. ''key'' is an optional list of modifiers (''shift'', ''control'', ''alt'', ''meta'' or ''super'') optionally followed by a character or a key name, all separated by + (plus signs). You must have either modifiers or a character/key name or both. See below for `valid key names` and `actions`. Keyboard hot keys are handled while the cursor is on the primary screen and secondary screens. Separate actions can be assigned to press and release.| -|mousebutton(button) | actions| Binds the modifier and mouse button combination ''button'' to the given ''actions''. ''button'' is an optional list of modifiers (''shift'', ''control'', ''alt'', ''meta'' or ''super'') followed by a button number. The primary button (the left button for right handed users) is button 1, the middle button is 2, etc. Actions can be found below. Mouse button actions are not handled while the cursor is on the primary screen. You cannot use these to perform an action while on the primary screen. Separate actions can be assigned to press and release.| +|keystroke(key) | actions | Binds the ''key'' combination key to the given ''actions''. ''key'' is an optional list of modifiers (''shift'', ''control'', ''alt'', ''meta'' or ''super'') optionally followed by a character or a key name, all separated by + (plus signs). You must have either modifiers or a character/key name or both. See below for `valid key names` and `actions`. Keyboard hot keys are handled while the cursor any computer. Separate actions can be assigned to press and release.| +|mousebutton(button) | actions| Binds the modifier and mouse button combination ''button'' to the given ''actions''. ''button'' is an optional list of modifiers (''shift'', ''control'', ''alt'', ''meta'' or ''super'') followed by a button number. The primary button (the left button for right handed users) is button 1, the middle button is 2, etc. Actions can be found below. Mouse button actions are not handled while the cursor is on the server. You cannot use these to perform an action while on the server. Separate actions can be assigned to press and release.| You can use both the ''switchDelay'' and ''switchDoubleTap'' options at the same time. Deskflow will switch when either requirement is satisfied. @@ -414,16 +414,16 @@ You can use both the ''switchDelay'' and ''switchDoubleTap'' options at the same Actions are two lists of individual actions separated by commas. The two lists are separated by a '';'' (semicolon). Either list can be empty and if the second list is empty then the semicolon is optional. The first list lists actions to take when the condition becomes true (e.g. the hot key or mouse button is pressed) and the second lists actions to take when the condition becomes false (e.g. the hot key or button is released). The condition becoming true is called activation and becoming false is called deactivation. Allowed individual actions are: -* `keystroke(key[,screens])` +* `keystroke(key[,computers])` -* `keyDown(key[,screens])` +* `keyDown(key[,computers])` -* `keyUp(key[,screens])` +* `keyUp(key[,computers])` -: Synthesizes the modifiers and key given in ''key'' which has the same form as described in the ''keystroke'' option. If given, ''screens'' lists the screen or screens to direct the event to, regardless of the active screen. If not given then the event is directed to the active screen only. +: Synthesizes the modifiers and key given in ''key'' which has the same form as described in the ''keystroke'' option. If given, ''computers'' lists the computer or computers to direct the event to, regardless of the active computer. If not given then the event is directed to the active computer only. : ''keyDown'' synthesizes a key press and ''keyUp'' synthesizes a key release. ''keystroke'' synthesizes a key press on activation and a release on deactivation and is equivalent to a ''keyDown'' on activation and ''keyUp'' on deactivation. -: ''screens'' is either ''*'' (asterisk) to indicate all screens or a '':'' (colon) separated list of screen names. (Note that the screen name must have already been encountered in the configuration file so you'll probably want to put ''actions'' at the bottom of the file.) +: ''computers'' is either ''*'' (asterisk) to indicate all computers or a '':'' (colon) separated list of computer names. (Note that the computer name must have already been encountered in the configuration file so you'll probably want to put ''actions'' at the bottom of the file.) * `mousebutton(button)` * `mouseDown(button)` @@ -432,16 +432,16 @@ Actions are two lists of individual actions separated by commas. The two lists a : ''mouseDown'' synthesizes a mouse press and ''mouseUp'' synthesizes a mouse release. ''mousebutton'' synthesizes a mouse press on activation and a release on deactivation and is equivalent to a ''mouseDown'' on activation and ''mouseUp'' on deactivation. * `lockCursorToScreen(mode)` -: Locks the cursor to or unlocks the cursor from the active screen. ''mode'' can be ''off'' to unlock the cursor, ''on'' to lock the cursor, or ''toggle'' to toggle the current state. The default is ''toggle''. If the configuration has no ''lockCursorToScreen'' action and ''Scroll Lock'' is not used as a hot key then ''Scroll Lock'' toggles cursor locking. +: Locks the cursor to or unlocks the cursor from the active computer. ''mode'' can be ''off'' to unlock the cursor, ''on'' to lock the cursor, or ''toggle'' to toggle the current state. The default is ''toggle''. If the configuration has no ''lockCursorToScreen'' action and ''Scroll Lock'' is not used as a hot key then ''Scroll Lock'' toggles cursor locking. -* `switchToScreen(screen)` -: Jump to screen with name or alias ''screen''. +* `switchToScreen(computerName)` +: Jump to computer with name or alias ''computerName''. * `switchInDirection(dir)` -: Switch to the screen in the direction ''dir'', which may be one of ''left'', ''right'', ''up'' or ''down''. +: Switch to the computer in the direction ''dir'', which may be one of ''left'', ''right'', ''up'' or ''down''. * `switchToNextScreen()` -: Cycle to the next screen in the configuration order. If at the last screen, cycles back to the first screen. +: Cycle to the next computer in the configuration order. If at the last computer, cycles back to the first computer. ##### Keynames Valid key names are: @@ -635,7 +635,7 @@ section: links # iMac is to the right of Desktop1 # Laptop is to the left of Desktop1 Desktop1: - right(0,100) = iMac # the numbers in parentheses indicate the percentage of the screen's edge to be considered active for switching) + right(0,100) = iMac # the numbers in parentheses indicate the percentage of the computer's edge to be considered active for switching) left = Laptop shift = shift (shift, alt, super, meta can be mapped to any of the others) # Desktop1 is to the right of Laptop @@ -656,7 +656,7 @@ end #### Cursor Wrapping -The text config allows screens to be wrapped around. For example, with two machines (a server and a client), the mouse can go off the right of the server onto the left side of the client, then off the right side of the client back onto the left side of server. This config also uses ''Ctrl''+''Super''+(''left arrow''/''right arrow'') to switch between machines on keypress. +The text config allows computers to be wrapped around. For example, with two machines (a server and a client), the mouse can go off the right of the server onto the left side of the client, then off the right side of the client back onto the left side of server. This config also uses ''Ctrl''+''Super''+(''left arrow''/''right arrow'') to switch between machines on keypress. ``` # Physical monitor arrangement, with machine names as used by Deskflow. @@ -678,7 +678,7 @@ section: links right = syn-serv # "wrapping" end section: options - keystroke(control+super+right) = switchInDirection(right) # Switch screens on keypress + keystroke(control+super+right) = switchInDirection(right) # Switch computers on keypress end ``` @@ -697,7 +697,7 @@ See also: the man page for ''deskflow-core''. ### Stacked Example -Stack one computer's screen on top of another's. +Stack one computer on top of another's. ``` # +-------+ @@ -741,7 +741,7 @@ end ### Horizontal Example -Align all screens horizontally. +Align all computers horizontally. ``` # +-------+ +-------+ +-------+ @@ -775,7 +775,7 @@ end ### Span Example -Span two screens on one computer across the screens of two computers. +Span one computer across the two other computers. ``` # +-------+ +-------+ diff --git a/src/lib/base/DirectionTypes.h b/src/lib/base/DirectionTypes.h index 7de2f2274..cb2c8f88f 100644 --- a/src/lib/base/DirectionTypes.h +++ b/src/lib/base/DirectionTypes.h @@ -11,20 +11,20 @@ #include /** - * @brief Screen edge directions for mouse movement + * @brief Computer edge directions for mouse movement * - * Used to specify which edge of a screen the mouse cursor crosses - * when moving between primary and secondary screens. + * Used to specify which edge of a computer the mouse cursor crosses + * when moving between primary and secondary computers. * * @since Protocol version 1.0 */ enum class Direction : uint8_t { NoDirection, ///< No specific direction - Left, ///< Left edge of screen - Right, ///< Right edge of screen - Top, ///< Top edge of screen - Bottom, ///< Bottom edge of screen + Left, ///< Left edge of computer + Right, ///< Right edge of computer + Top, ///< Top edge of computer + Bottom, ///< Bottom edge of computer FirstDirection = Direction::Left, ///< First valid direction value LastDirection = Direction::Bottom, ///< Last valid direction value NumDirections = Direction::LastDirection - Direction::FirstDirection + 1 ///< Total number of directions diff --git a/src/lib/base/EventTypes.h b/src/lib/base/EventTypes.h index cfb2a40cf..ae76dfc84 100644 --- a/src/lib/base/EventTypes.h +++ b/src/lib/base/EventTypes.h @@ -111,23 +111,23 @@ enum class EventTypes : uint32_t */ ClientProxyUnknownFailure, - /** This event is sent when a client screen has connected. - The event data is a pointer to ScreenConnectedInfo that indicates the connected screen. + /** This event is sent when a client computer has connected. + The event data is a pointer to ScreenConnectedInfo that indicates the connected computer. */ ServerConnected, /// This is event sent when all the clients have disconnected. ServerDisconnected, - /** This event is sent to inform the server to switch screens. - The event data is a pointer to SwitchToScreenInfo that indicates the target screen. + /** This event is sent to inform the server to switch computers. + The event data is a pointer to SwitchToScreenInfo that indicates the target computer. */ ServerSwitchToScreen, - /// This event is sent to inform the server to toggle screens. These is no event data. + /// This event is sent to inform the server to toggle computers. These is no event data. ServerToggleScreen, - /** This event is sent to inform the server to switch screens. + /** This event is sent to inform the server to switch computers. The event data is a pointer to SwitchInDirectionInfo that indicates the target direction. */ ServerSwitchInDirection, @@ -137,12 +137,12 @@ enum class EventTypes : uint32_t */ ServerKeyboardBroadcast, - /** This event is sent to inform the server to lock the cursor to the active screen or to + /** This event is sent to inform the server to lock the cursor to the active computer or to unlock it. The event data is a pointer to LockCursorToScreenInfo. */ ServerLockCursorToScreen, - /// This event is sent when the screen has been switched to a client. + /// This event is sent when the computer has been switched to a client. ServerScreenSwitched, ServerAppReloadConfig, @@ -162,12 +162,12 @@ enum class EventTypes : uint32_t /// This event is sent when button is up. Event data is a pointer to ButtonInfo PrimaryScreenButtonUp, - /** This event is sent when mouse moves on primary screen. + /** This event is sent when mouse moves on the server. Event data is a pointer to MotionInfo, the values are absolute position. */ PrimaryScreenMotionOnPrimary, - /** This event is sent when mouse moves on secondary screen. + /** This event is sent when mouse moves on a client. Event data is a pointer to MotionInfo, the values are relative motion deltas. */ PrimaryScreenMotionOnSecondary, @@ -193,12 +193,12 @@ enum class EventTypes : uint32_t /// This event is sent when fake input ends. PrimaryScreenFakeInputEnd, - /** This event is sent whenever the screen has failed for some reason (e.g. the X Windows + /** This event is sent whenever the computer has failed for some reason (e.g. the X Windows server died). */ ScreenError, - /// This event is sent whenever the screen's shape changes. + /// This event is sent whenever the computer's display shape changes. ScreenShapeChanged, /** This event is sent whenever the system goes to sleep or a user session is deactivated (fast