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
161515d2
Commit
161515d2
authored
Dec 02, 2018
by
Ulrich Sibiller
Committed by
Mike Gabriel
Dec 19, 2018
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
nxagent: add additional keyboard config option rmlvo
Add possibility to pass more than model and layout via the keyboard parameter.
parent
1de6ca59
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
36 additions
and
5 deletions
+36
-5
Keyboard.c
nx-X11/programs/Xserver/hw/nxagent/Keyboard.c
+27
-3
nxagent.1
nx-X11/programs/Xserver/hw/nxagent/man/nxagent.1
+9
-2
No files found.
nx-X11/programs/Xserver/hw/nxagent/Keyboard.c
View file @
161515d2
...
...
@@ -774,8 +774,33 @@ XkbError:
goto
XkbError
;
}
/*
The original nxagent only supports model/layout values
here. It uses these values together with the default rules
and empty variant and options. We use a more or less
compatible hack here: The special keyword rlmvo for model
means that the layout part of the string will contain a
full RMLVO config, separated by #, e.g.
rlmvo/base#pc105#de,us#nodeadkeys#lv3:rwin_switch
*/
if
(
strncmp
(
nxagentKeyboard
,
"rlmvo/"
,
6
)
==
0
)
{
const
char
*
sep
=
"#"
;
char
*
rmlvo
=
strdup
(
&
nxagentKeyboard
[
i
+
1
]);
char
*
tmp
=
rmlvo
;
/* strtok cannot handle empty fields, so use strsep */
rules
=
strdup
(
strsep
(
&
tmp
,
sep
));
model
=
strdup
(
strsep
(
&
tmp
,
sep
));
layout
=
strdup
(
strsep
(
&
tmp
,
sep
));
variant
=
strdup
(
strsep
(
&
tmp
,
sep
));
options
=
strdup
(
strsep
(
&
tmp
,
sep
));
free
(
rmlvo
);
}
else
{
model
=
strndup
(
nxagentKeyboard
,
i
);
layout
=
strdup
(
&
nxagentKeyboard
[
i
+
1
]);
}
/*
* There is no description for pc105 on Solaris.
...
...
@@ -783,8 +808,8 @@ XkbError:
*/
#ifdef TEST
fprintf
(
stderr
,
"
nxagentKeyboardProc: Using keyboard model [%s] with layout [%s
].
\n
"
,
model
,
layout
);
fprintf
(
stderr
,
"
%s: Using [rules='%s',model='%s',layout='%s',variant='%s',options='%s'
].
\n
"
,
__func__
,
rules
,
model
,
layout
,
variant
,
options
);
#endif
#ifdef __sun
...
...
@@ -793,7 +818,6 @@ XkbError:
{
#ifdef TEST
fprintf
(
stderr
,
"nxagentKeyboardProc: WARNING! Keyboard model 'pc105' unsupported on Solaris.
\n
"
);
fprintf
(
stderr
,
"nxagentKeyboardProc: WARNING! Forcing keyboard model to 'pc104'.
\n
"
);
#endif
...
...
nx-X11/programs/Xserver/hw/nxagent/man/nxagent.1
View file @
161515d2
...
...
@@ -603,7 +603,7 @@ start or resume a session in fullscreen mode (default: off)
.TP 8
.B keyboard=<string> or kbtype=<string>
.BR query | clone | <model>/<layout>
.BR query | clone | <model>/<layout>
| rmlvo/<rules>#<model>#<layout>#<variant>#<options>
.RS 8
.TP 8
...
...
@@ -624,8 +624,15 @@ compatibility reasons it is not the default.
.TP 8
.I <model>/<layout>
use the given model and layout. You can not modify keyboard rules,
variant or options. Instead preset values are used. These are
variant or options
this way
. Instead preset values are used. These are
\fIbase\fR for rules and empty strings for variant and options.
.TP 8
.I rmlvo/<rules>#<model>#<layout>#<variant>#<options>
configure the keyboard according to the rmlvo
(Rules+Model+Layout+Variant+Options) description given after the / and
separated by #. This can be used to fully pass the keyboard
configuration of \fBnxagent\fR right after the start. Example:
rmlvo/base#pc105#de,us#nodeadkeys#lv3:rwin_switch
.RE
.TP 8
...
...
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