URL: https://www.overclockers.at/internet-provider/vnc-mit-linux-host-windows-client-alt-gr-spinnt-so_236819/page_1 - zur Vollversion wechseln!
Grüß euch.
Also, der Titel sagt es schon. Ich schaffe es einfach nicht, die für's deutsche Keyboardlayout unerläßliche "AltGr" Taste im Rahmen einer VNC Connection zum Laufen zu bringen. Das ist aber notwendig, weil man sonst keine @, |, [], {} usw. tippen kann. Sowohl am Host direkt als auch auf den Clients direkt funktioniert das.
Ich hatte das Problem schon von Linux auf Linux, obwohl beide Maschinen eine identische Locale und Keymap hatten, hier habe ich xev benutzt um herauszufinden, daß Alt_R (Alt Right) auf Keycode 113 landet. Also einfach ~/.Xmodmap am Linux Host editiert und Keycode 113 geändert, und danach xmodmap ~/.Xmodmap:
keycode 113 = Alt_R NoSymbol Alt_R NoSymbol Alt_R
Das hat Mal funktioniert!
So, aber jetzt komme ich mit VNC von einem Windows Client auf besagten Server, und da löst die Alt Gr Taste leider gleich zwei Events aus, und zwar Control_L und Alt_L, siehe:
Keypress:
Keyrelease:Code:KeyPress event, serial 33, synthetic NO, window 0x2400001, root 0xfc, subw 0x2400002, time 3941946185, (46,38), root:(1010,228), state 0x0, keycode 37 (keysym 0xffe3, Control_L), same_screen YES, XLookupString gives 0 bytes: XmbLookupString gives 0 bytes: XFilterEvent returns: False KeyPress event, serial 33, synthetic NO, window 0x2400001, root 0xfc, subw 0x2400002, time 3941946185, (46,38), root:(1010,228), state 0x4, keycode 64 (keysym 0xffe9, Alt_L), same_screen YES, XLookupString gives 0 bytes: XmbLookupString gives 0 bytes: XFilterEvent returns: False
Ich dachte, ich könnte das irgendwie mit keysym in der ~/.Xmodmap hinbiegen, um beide Keys auf Alt_R zu mappen wenn gemeinsam gedrückt, aber bisher bin ich erfolglos geblieben. Auch nicht 100% klar ist mir, wie die Modifier als solche identifiziert werden, generell kenne ich mich mit xmodmap einfach ein bissl zu wenig aus. Is ja recht kryptisch.Code:KeyRelease event, serial 33, synthetic NO, window 0x2400001, root 0xfc, subw 0x2400002, time 3941946296, (46,38), root:(1010,228), state 0xc, keycode 37 (keysym 0xffe3, Control_L), same_screen YES, XLookupString gives 0 bytes: XFilterEvent returns: False KeyRelease event, serial 33, synthetic NO, window 0x2400001, root 0xfc, subw 0x2400002, time 3941946296, (46,38), root:(1010,228), state 0x8, keycode 64 (keysym 0xffe9, Alt_L), same_screen YES, XLookupString gives 0 bytes: XFilterEvent returns: False
Niemand?
Nachdem ich mich nicht ganz durchblick leider nein.Zitat von GrandAdmiralThrawnNiemand?
Hast du eine Möglichkeit das gesuchte Event per Software auszulösen?
Die meisten VNC-Clients haben die Möglichkeit per GUI den gewünschten Tastendruck zu emulieren. Den müsstest du dann aufzeichnen und entsprechend einpflegen.
Wenn ich wüßte wie? Wie gesagt, Windows schickt Control_L + Alt_L an den Linux Host über VNC. Und Ctrl+Alt funktioniert nicht, wird nicht als AltGr interpretiert.
Soweit ich das verstehe, sind Ctrl+Alt und AltGr auf Windows äquivalent, auf Linux aber nicht. Wenn ich AltGr per Software schicke, kommt am Zielsystem auch Control_L+Alt_L an, also 37+64.
Was ich jetzt per xmodmap zusammenbringen müßte wäre es, die Sequenz der Keycodes "37+64" auf "113" zu mappen. Und genau daran beiße ich mir die Zähne aus.
Ich habe auch keinen VNC Client gefunden, dem ich beibringen könnte, gewisse Keycodesequenzen immer auf einen anderen Keycode zu mappen, wenn der User die entsprechende(n) Taste(n) drückt.
Wenn der VNC Client schon aus "37+64" (also Ctrl+Alt) ein "113" (AltGr) zaubern könnte, dann wär alles in Butter. Ich habe jetzt UltraVNC, TightVNC, RealVNC und TigerVNC als Clients probiert, aber keiner scheint mir sowas zu können.
@Hansmaulwurf: Kommst du von einem Windows Client!?
Hm und das ganze von der anderen Seite anzugehen und das Tastatur Layout von Windows anzupassen ist keine Option?
Da wüsste ich nämlich ein Tool was das kann.
http://msdn.microsoft.com/en-US/goglobal/bb964665.aspx
Ja, ich hab im Endeffekt fast das gleiche Setup wie du.Zitat von GrandAdmiralThrawn@Hansmaulwurf: Kommst du von einem Windows Client!?
Das Clientlayout anzupassen ist keine Option, dann müßte der User ja mit QWERTY arbeiten, das geht gar nicht.
@Hansmaulwurf: Da hol mich der Teufel. "setxkbmap" meintest du sicher, oder? Also geb ich ein "setxkbmap us", und siehe da, es funktioniert! Unfaßbar.
Jetzt würde ich nur zu gerne wissen was da wirklich passiert und warum das so geht... Aber auf jeden Fall schon Mal danke für den rettenden Hinweis!
Ich bin nach 2 Tagen draufgekommen. Dazwischen war ich mehrmals knapp dran meinen Monitor aus dem Fenster zu bugsierenZitat von GrandAdmiralThrawn@Hansmaulwurf: Da hol mich der Teufel. "setxkbmap" meintest du sicher, oder? Also geb ich ein "setxkbmap us", und siehe da, es funktioniert! Unfaßbar.
Jetzt würde ich nur zu gerne wissen was da wirklich passiert und warum das so geht... Aber auf jeden Fall schon Mal danke für den rettenden Hinweis!
Ich bin hier auch schon ein bissl durchgedreht, nur keine Sorge!
Einziger Unterschied, den ich bisher feststellen konnte ist, daß xev nun vermeldet, daß die Keycodes 37+113, also Control_L+Alt_R (!) ankommen, anstatt Control_L+Alt_L. Eigentlich dürfte das auch so nicht unbedingt funktionieren, außer die xmodmap Modifier springen ned an hier und eine andere mir unbekannte Komponente des Systems regelt das..
xmodmap -pm sagt, daß die 8 Modifier Levels wie folgt aussehen:
Also wenn ich das Recht verstehe, dann erreiche ich das "control" Level, weil Alt_R kein Modifier zugewiesen und Control_L gedrückt ist. Für Keycode 37 (Control_L) gibts in der ~/.Xmodmap allerdings für Stufe 3 (control) der Modifier auch nix. Also kein "Alt_R" zu sehen dort, nur "NoSymbol". Also eigentlich sollte Control_L+Alt_R gar nichts ergeben.Code:shift Shift_L (0x32), Shift_R (0x3e) lock Caps_Lock (0x42) control Control_L (0x25), Control_R (0x6d) mod1 Alt_L (0x40), Meta_L (0x9c) mod2 Num_Lock (0x4d) mod3 mod4 Super_L (0x73), Super_R (0x74), Super_L (0x7f), Hyper_L (0x80) mod5 Mode_switch (0x8), ISO_Level3_Shift (0x71), ISO_Level3_Shift (0x7c)
Zitat von GrandAdmiralThrawnGibt es irgendwen, der dieses X11 Keyboard Mapping Zeug wirklich kapiert?! Ich komm' mir vor, wie in Minos' Labyrinth..
Oje, der entwickelt das Zeug... Ich habe fürchterliche Angst vor diesem Menschen, ich glaube ich lauf lieber schnell davon!
overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2025