Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
N
nx-libs
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
1
Issues
1
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
dimbor
nx-libs
Commits
ba5183f8
Commit
ba5183f8
authored
Mar 23, 2017
by
Ulrich Sibiller
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Init keystrokes at startup and reconnect
no more late initialization
parent
f12012b1
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
12 additions
and
9 deletions
+12
-9
Init.c
nx-X11/programs/Xserver/hw/nxagent/Init.c
+3
-0
Keystroke.c
nx-X11/programs/Xserver/hw/nxagent/Keystroke.c
+3
-9
Keystroke.h
nx-X11/programs/Xserver/hw/nxagent/Keystroke.h
+1
-0
Reconnect.c
nx-X11/programs/Xserver/hw/nxagent/Reconnect.c
+5
-0
No files found.
nx-X11/programs/Xserver/hw/nxagent/Init.c
View file @
ba5183f8
...
...
@@ -69,6 +69,7 @@ is" without express or implied warranty.
#include "Font.h"
#include "Millis.h"
#include "Error.h"
#include "Keystroke.h"
#include <nx/NX.h>
#include "compext/Compext.h"
...
...
@@ -406,6 +407,8 @@ FIXME: These variables, if not removed at all because have probably
*/
blackRoot
=
TRUE
;
nxagentInitKeystrokes
(
False
);
}
void
...
...
nx-X11/programs/Xserver/hw/nxagent/Keystroke.c
View file @
ba5183f8
...
...
@@ -265,7 +265,7 @@ static Bool read_binding_from_xmlnode(xmlNode *node, struct nxagentSpecialKeystr
* - hardcoded traditional NX default settings
* If run in x2go flavour different filenames and varnames are used.
*/
static
void
parse_keystroke_file
(
Bool
force
)
void
nxagentInitKeystrokes
(
Bool
force
)
{
char
*
filename
=
NULL
;
...
...
@@ -482,13 +482,7 @@ static enum nxagentSpecialKeystroke find_keystroke(XKeyEvent *X)
{
enum
nxagentSpecialKeystroke
ret
=
KEYSTROKE_NOTHING
;
int
keysyms_per_keycode_return
;
struct
nxagentSpecialKeystrokeMap
*
cur
;
/* FIXME: we do late parsing here, this should be done at startup,
not at first keypress! */
parse_keystroke_file
(
False
);
cur
=
map
;
struct
nxagentSpecialKeystrokeMap
*
cur
=
map
;
XlibKeySym
*
keysym
=
XGetKeyboardMapping
(
nxagentDisplay
,
X
->
keycode
,
...
...
@@ -665,7 +659,7 @@ Bool nxagentCheckSpecialKeystroke(XKeyEvent *X, enum HandleEventResult *result)
might lead to unexpected behaviour
*/
if
(
X
->
type
==
KeyRelease
)
parse_keystroke_file
(
True
);
nxagentInitKeystrokes
(
True
);
break
;
case
KEYSTROKE_NOTHING
:
/* do nothing. difference to KEYSTROKE_IGNORE is the return value */
case
KEYSTROKE_END_MARKER
:
/* just to make gcc STFU */
...
...
nx-X11/programs/Xserver/hw/nxagent/Keystroke.h
View file @
ba5183f8
...
...
@@ -30,6 +30,7 @@
extern
Bool
nxagentCheckSpecialKeystroke
(
XKeyEvent
*
,
enum
HandleEventResult
*
);
extern
void
nxagentDumpKeystrokes
(
void
);
extern
void
nxagentInitKeystrokes
(
Bool
force
);
/* keep this sorted, do not rely on any numerical value in this enum, and be aware
* that KEYSTROKE_MAX may be used in a malloc */
...
...
nx-X11/programs/Xserver/hw/nxagent/Reconnect.c
View file @
ba5183f8
...
...
@@ -52,6 +52,7 @@
#include "Millis.h"
#include "Splash.h"
#include "Error.h"
#include "Keystroke.h"
#ifdef XKB
#include "XKBsrv.h"
...
...
@@ -646,6 +647,10 @@ Bool nxagentReconnectSession(void)
goto
nxagentReconnectError
;
}
/* Re-read keystrokes definitions in case the keystrokes file has
changed while being supended */
nxagentInitKeystrokes
(
True
);
#ifdef NX_DEBUG_INPUT
fprintf
(
stderr
,
"Session: Session resumed at '%s' timestamp [%lu].
\n
"
,
GetTimeAsString
(),
GetTimeInMillis
());
#else
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment