Rojetto / ReNeo

Neo-Tastaturlayouts für Windows
GNU General Public License v3.0
57 stars 11 forks source link

Backticks do not get printed with nomachine enterprise client 7.4.1 #85

Closed cryptointerest closed 2 years ago

cryptointerest commented 2 years ago

Hello devs,

I'm using ReNeo v1.5.4 on a Windows 10 machine from my employer (as user without admin writes) and am using nomachine to access our Linux workstations. Everything seems to be working quite smoothly except for one thing: I cannot print backticks in any program. Not with deadkeys and not with the third level key. Problem is, I need to write and edit quite a lot of markdown code, so I really need the functionality. Any ideas what is causing the issue? I found an old post referencing something similar, but it is really outdated.
How can I provide you with logs and more meaningfull information?

Disableing ReNeo and configuring Linux to use the neo layout works, so it's not a font issue or anything. This means that I can probalby exclude nomachine from ReNeo and get it to work that way as a workaround, but it is not ideal.

Cheers David

Rojetto commented 2 years ago

Since you write you don't have administrator privileges, I assume you're using ReNeo in standalone mode, meaning the native layout in Windows is QWERTZ or something similar, correct? If that's the case, ReNeo has two different ways of producing special characters:

  1. If the character exists in the native layout, it virtually presses the required native key combination.
  2. Otherwise, it produces a VK_PACKET key event containing the unicode character.

The backtick character on QWERTZ is a dead key, which means method 1 doesn't work and we fall back to method 2. NoMachine probably doesn't handle unicode key events, so nothing happens on the remote system. If this is indeed the issue, you should find the same problem with the caret symbol ^ on layer 3, as well as all symbols on layers 5 and 6. Can you confirm that is the case?

VMs and remote clients unfortunately just are the bane of Neo's existence on Windows, they fundamentally don't like the kinds of keyboard hacks we need to use to make other applications work. Your workaround is exactly what I would have suggested: use Neo on the remote system and disable ReNeo on your local system. If you add NoMachine to the ReNeo blacklist, you shouldn't even have to manually toggle anything when switching between NoMachine and other applications.

cryptointerest commented 2 years ago

Since you write you don't have administrator privileges, I assume you're using ReNeo in standalone mode, meaning the native layout in Windows is QWERTZ or something similar, correct?

That's exactly what happens. The default layout ist standard German Quertz layout and I'm running ReNeo standalone on top of it as a user.

use Neo on the remote system and disable ReNeo on your local system. If you add NoMachine to the ReNeo blacklist, you shouldn't even have to manually toggle anything when switching between NoMachine and other applications.

I can confirm that this works flawlessly, so it is probably the way to go.

cryptointerest commented 2 years ago

If this is indeed the issue, you should find the same problem with the caret symbol ^ on layer 3, as well as all symbols on layers 5 and 6. Can you confirm that is the case?

I will attempt this later, a calculation is running atm (without screen) and switching of keypoard konfig on linux all the while changing things in ReNeo leads to keyboard fuckups. -> Need to relogin after the calculation has finished.

cryptointerest commented 2 years ago

The backtick character on QWERTZ is a dead key, which means method 1 doesn't work and we fall back to method 2. NoMachine probably doesn't handle unicode key events, so nothing happens on the remote system. If this is indeed the issue, you should find the same problem with the caret symbol ^ on layer 3, as well as all symbols on layers 5 and 6. Can you confirm that is the case?

You seem to be absolutely correct on this. Caret has the same issue and layers 5 and 6 are completely dead.

Am I assuming correctly that blacklisting NoMachine and using neo natively on Linux is recommended solution? If so, we can close the issue as the latter works.

Rojetto commented 2 years ago

Alright, we can be pretty sure of the cause then. The workaround is the recommended solution, yes. It would be great if everything just worked out of the box, but sometimes getting out of the way can be the next best course of action.