summaryrefslogtreecommitdiffstats
path: root/vncviewer
diff options
context:
space:
mode:
authorPierre Ossman <ossman@cendio.se>2014-07-21 16:42:12 +0200
committerPierre Ossman <ossman@cendio.se>2014-08-22 15:10:28 +0200
commit6b9622db86bf4e35f8e5baf1be2321401659a42d (patch)
tree9dedc635652ef3095c6cc71c3855c81ff952b7e5 /vncviewer
parent4f3ac69a11b98aa7eea88a6336140bced4c66eae (diff)
downloadtigervnc-6b9622db86bf4e35f8e5baf1be2321401659a42d.tar.gz
tigervnc-6b9622db86bf4e35f8e5baf1be2321401659a42d.zip
Add X11 keyboard handler
Diffstat (limited to 'vncviewer')
-rw-r--r--vncviewer/Viewport.cxx41
-rw-r--r--vncviewer/vncviewer.cxx10
2 files changed, 51 insertions, 0 deletions
diff --git a/vncviewer/Viewport.cxx b/vncviewer/Viewport.cxx
index 2b22a973..0f627229 100644
--- a/vncviewer/Viewport.cxx
+++ b/vncviewer/Viewport.cxx
@@ -647,6 +647,47 @@ bool Viewport::handleXEvent(void *event, void *data)
assert(event);
+#if !defined(WIN32) && !defined(__APPLE__)
+ XEvent *xevent = (XEvent*)event;
+
+ if (xevent->type == KeyPress) {
+ char str;
+ KeySym keysym;
+
+ XLookupString(&xevent->xkey, &str, 1, &keysym, NULL);
+ if (keysym == NoSymbol) {
+ vlog.error(_("No symbol for key code %d (in the current state)"),
+ (int)xevent->xkey.keycode);
+ return true;
+ }
+
+ switch (keysym) {
+ // For the first few years, there wasn't a good consensus on what the
+ // Windows keys should be mapped to for X11. So we need to help out a
+ // bit and map all variants to the same key...
+ case XK_Meta_L:
+ case XK_Hyper_L:
+ keysym = XK_Super_L;
+ break;
+ case XK_Meta_R:
+ case XK_Hyper_R:
+ keysym = XK_Super_R;
+ break;
+ // There has been several variants for Shift-Tab over the years.
+ // RFB states that we should always send a normal tab.
+ case XK_ISO_Left_Tab:
+ keysym = XK_Tab;
+ break;
+ }
+
+ self->handleKeyPress(xevent->xkey.keycode, keysym);
+ return true;
+ } else if (xevent->type == KeyRelease) {
+ self->handleKeyRelease(xevent->xkey.keycode);
+ return true;
+ }
+#endif
+
return false;
}
diff --git a/vncviewer/vncviewer.cxx b/vncviewer/vncviewer.cxx
index 3f039379..82286ab8 100644
--- a/vncviewer/vncviewer.cxx
+++ b/vncviewer/vncviewer.cxx
@@ -36,6 +36,11 @@
#define mkdir(path, mode) _mkdir(path)
#endif
+#if !defined(WIN32) && !defined(__APPLE__)
+#include <X11/Xlib.h>
+#include <X11/XKBlib.h>
+#endif
+
#include <rfb/Logger_stdio.h>
#include <rfb/SecurityClient.h>
#include <rfb/Security.h>
@@ -386,6 +391,11 @@ int main(int argc, char** argv)
init_fltk();
+#if !defined(WIN32) && !defined(__APPLE__)
+ fl_open_display();
+ XkbSetDetectableAutoRepeat(fl_display, True, NULL);
+#endif
+
Configuration::enableViewerParams();
/* Load the default parameter settings */
kport/44956/stable28 Nextcloud server, a safe home for all your data: https://github.com/nextcloud/serverwww-data
aboutsummaryrefslogtreecommitdiffstats
path: root/apps/sharebymail/l10n/de.js
blob: 35cd63c27c87da335479528d51449ceb93c9d99d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
OC.L10N.register(
    "sharebymail",
    {
    "Shared with %1$s" : "Geteilt mit %1$s",
    "Shared with {email}" : "Geteilt mit {email}",
    "Shared with %1$s by %2$s" : "Geteilt mit %1$s von %2$s",
    "Shared with {email} by {actor}" : "Geteilt mit {email} von {actor}",
    "Password for mail share sent to %1$s" : "Passwort für E-Mail-Freigabe wurde an %1$s versandt",
    "Password for mail share sent to {email}" : "Passwort für E-Mail-Freigabe wurde an {email} versandt",
    "Password for mail share sent to you" : "Passwort für E-Mail-Freigabe wurde an Dich versandt",
    "You shared %1$s with %2$s by mail" : "Du teilst %1$s mit %2$s via E-Mail",
    "You shared {file} with {email} by mail" : "Du teilst {file} mit {email} via E-Mail",
    "%3$s shared %1$s with %2$s by mail" : "%3$s teilt %1$s mit %2$s via E-mail",
    "{actor} shared {file} with {email} by mail" : "{actor} teilt {file} mit {email} via E-Mail",
    "Password to access %1$s was sent to %2s" : "Passwort für den Zugriff auf %1$s wurde an %2s versandt ",
    "Password to access {file} was sent to {email}" : "Passwort für den Zugriff auf {file} wurde an {email} versandt ",
    "Password to access %1$s was sent to you" : " Passwort für den Zugriff auf %1$s wurde an Dich versandt ",
    "Password to access {file} was sent to you" : " Passwort für den Zugriff auf {file} wurde an Dich versandt ",
    "Sharing %s failed, this item is already shared with %s" : "Freigabe von %s fehlgeschlagen, da dieses Objekt schon mit %s geteilt wird",
    "We can't send you the auto-generated password. Please set a valid email address in your personal settings and try again." : "Automatisch erzeugtes Passwort kann nicht versandt werden. Bitte gebe in Deinen persönlichen Einstellungen eine gültige E-Mail-Adresse ein und versuche es erneut.",
    "Failed to send share by email" : "Fehler beim Senden der Freigabe per E-Mail",
    "%s shared »%s« with you" : "%s hat „%s“ mit Dir geteilt",
    "%s shared »%s« with you." : "%s hat mit Dir »%s« geteilt.",
    "Click the button below to open it." : "Klicke zum Öffnen auf die untere Schaltfläche",
    "Open »%s«" : "Öffne »%s«",
    "%s via %s" : "%s via %s",
    "%s shared »%s« with you.\nYou should have already received a separate mail with a link to access it.\n" : "%s hat  »%s« mit Dir geteilt.\nDu solltest eine weitere E-Mail mit dem Link für den Zugriff erhalten haben.\n",
    "%s shared »%s« with you. You should have already received a separate mail with a link to access it." : "%s hat »%s« mit Dir geteilt. Du solltest schon eine E-Mail mit einem Link erhalten haben um darauf zu zugreifen. ",
    "Password to access »%s« shared to you by %s" : "Das Passwort zum Zugriff auf %s wurde durch %s mit Dir geteilt.",
    "Password to access »%s«" : "Passwort um auf »%s« zu zugreifen",
    "It is protected with the following password: %s" : "Dies ist mit dem folgendem Passwort geschützt: %s",
    "%1$s shared »%2$s« with you and wants to add:" : "%1$shat » %2$s«  mit Dir geteilt und möchte folgendes hinzufügen:",
    "%1$s shared »%2$s« with you and wants to add" : "%1$shat »%2$s« mit Dir geteilt und möchte folgendes hinzufügen",
    "»%s« added a note to a file shared with you" : "»%s« « hat eine Bemerkung zu einer mit Dir geteilten Datei hinzugefügt",
    "%1$s via %2$s" : "%1$s über %2$s",
    "You just shared »%s« with %s. The share was already send to the recipient. Due to the security policies defined by the administrator of %s each share needs to be protected by password and it is not allowed to send the password directly to the recipient. Therefore you need to forward the password manually to the recipient." : "Du hast »%s« mit %s geteilt. Die Freigabe wurde an den Empfänger gesandt. Aufgrund der Sicherheits-Richtlinien, die der Administrator von %s vorgegeben hat, benötigt jede Freigabe einen Passwortschutz und es ist nicht zulässig, ein Passwort direkt an den Empfänger zu versenden. Aus diesem Grund musst Du das Passwort selbst an den Empfänger senden.",
    "Password to access »%s« shared with %s" : "Passwort für den Zugriff auf %s, geteilt mit %s",
    "This is the password: %s" : "Das Passwort lautet: %s",
    "You can choose a different password at any time in the share dialog." : "Im Teilen-Dialog kannst Du jederzeit ein anderes Passwort wählen.",
    "Could not find share" : "Freigabe konnte nicht gefunden werden",
    "Share by mail" : "Geteilt über eine E-Mail",
    "Allows users to share a personalized link to a file or folder by putting in an email address." : "Ermöglicht Benutzern eine personalisierte Verknüpfung zu einer Datei oder einem Ordner durch Eingabe einer E-Mail-Adresse zu teilen.",
    "Send password by mail" : "Passwort per Mail senden",
    "Enforce password protection" : "Passwortschutz erzwingen",
    "Failed to send share by E-mail" : "Fehler beim Senden der Freigabe per E-Mail"
},
"nplurals=2; plural=(n != 1);");