-
Notifications
You must be signed in to change notification settings - Fork 376
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
nxagent - clone existing keyboard options #208
Comments
Interesting, I was not aware of
That would be nice! Also, you would appear in list of contributors. |
I've pushed a commit with this change. It is really better than the previous solution. One detail: The option must be passend with quotes: |
I've reverted the change because If you have an idea how to fix the AltGr issue, I am happy to implement it and to default to |
Hello,
Are you sure about this? nxagent seems to exhibit the opposite behaviour: $ echo "keyboard='clone'" > /tmp/nxagent.options
$ nxagent -options /tmp/nxagent.options :1
Warning: Option file doesn't contain a port specification.
NXAGENT - Version 3.5.99.26
[copyright - abridged]
Info: Agent running with pid '2775395'.
Session: Starting session at 'Sun May 8 19:15:05 2022'.
Info: Using alpha channel in render extension.
Info: Not using local device configuration changes.
Warning: Cannot read keystroke file '/home/xavier/.nx/config/keystrokes.cfg'.
Info: using keystrokes file '/etc/nxagent/keystrokes.cfg'
Currently known keystrokes:
[keystrokes - abridged]
Warning: Wrong keyboard type: ''clone''. <========================= HERE
Session: Session started at 'Sun May 8 19:15:05 2022'.
Info: Screen [0] resized to geometry [2556x1080] fullscreen [0]. I fixed this on my side with this trivial patch: diff --git a/x11docker b/x11docker
index 80c01d2..42f7450 100755
--- a/x11docker
+++ b/x11docker
@@ -3797,7 +3797,7 @@ mode=$Screensize
;;
*) # --keymap
case "$Xkblayout" in
- clone) Nxagentoptions="$Nxagentoptions,keyboard='clone'" ;;
+ clone) Nxagentoptions="$Nxagentoptions,keyboard=clone" ;;
*) Nxagentoptions="$Nxagentoptions,keyboard='evdev/$Xkblayout'" ;;
esac
;; However, I believe the next line does not make sense either: *) Nxagentoptions="$Nxagentoptions,keyboard='evdev/$Xkblayout'" ;; Indeed, according to the nxagent(1) manpage, nxagent does not seem to accept any keyboard string starting with "evdev" (which is a kind of "rules", not a "model"): keyboard=<string> or kbtype=<string>
query|clone|<model>/<layout>|rmlvo/<rules>#<model>#<layout>#<variant>#<options> I would advise to keep things simple by acting as a mere passthrough: Nxagentoptions="$Nxagentoptions,keyboard=$Xkblayout" |
Thank you for pointing on this!
I have checked it and found that I have set
This just does not work, while |
And thank you for writing x11docker in the first place.
Quite possibly. I am admittedly too lazy to check nxagent's development history.
Does it? The manpage says:
Oh, that's great! The manpage also says that
For reference, the code that parses the Anyway, my suggestion aimed at ensuring that x11docker does not prevent users from passing the rmlvo options of their dream to nxagent: it is easier for those who need it to pass evdev/something than it is to remove it for those who do not need it (especially since evdev can be passed as part of a rmlvo string).
Yes, I confirm. Anyway, thanks for your work :) |
To add rmlvo support to all X servers I would have to check the keyboard setup possibilities for each of them. In several configurations I just provide e.g. However, I could implement an inofficial feature just for nxagent. x11docker could check the provided string for |
Definitely not. The general point here is that end users sometimes need to pass custom arguments to the tools that x11docker runs (though this can be achieved by playing with PATH and wrapper scripts). There is a mechanism to pass arbitrary docker/podman options but mechanisms to better control X servers would be nice too. On the other hand, that makes x11docker more complex.
Yes, that would be nice: a small condition for you, more flexibility for end users. |
x11docker has an undocumented/experimental option
I have added this. |
Thank you! |
I'm having an issue with nxagent where keyboard options (ie ctrl:nocaps) are being ignored.
In digging into this, x11docker is setting a keyboard= option for nxagent based on 'setxkbmap -query', but isn't applying any option.
When I modify x11docker to pass 'keyboard=clone' instead, nxagent properly detects my options and applies them.
I'm happy to submit a pull request if it would be helpful.
The text was updated successfully, but these errors were encountered: