This is an automated email from the git hooks/post-receive script. x2go pushed a change to branch gzng in repository mteleplayer. from 3eb7df7 Embedded overlay test... new 40cc134 Experimetal event forwarding from client mtp to client nxproxy window The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "adds" were already present in the repository and have only been added to this reference. Summary of changes: .../mteleplayer/bin/mteleplayer_clientside | 36 +++++++++++++++++++- 1 file changed, 35 insertions(+), 1 deletion(-) -- Alioth's /srv/git/_hooks_/post-receive-email on /srv/git/code.x2go.org/mteleplayer.git
This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch gzng in repository mteleplayer. commit 40cc134e0cc8f77a81bb6856d66f2613a34f1ef8 Author: gznget <opensource@gznianguan.com> Date: Thu Sep 4 16:45:27 2014 +0200 Experimetal event forwarding from client mtp to client nxproxy window --- .../mteleplayer/bin/mteleplayer_clientside | 36 +++++++++++++++++++- 1 file changed, 35 insertions(+), 1 deletion(-) diff --git a/clientside/lib/telekinesis/client/applications/mteleplayer/bin/mteleplayer_clientside b/clientside/lib/telekinesis/client/applications/mteleplayer/bin/mteleplayer_clientside index c039e5c..9c99fe4 100755 --- a/clientside/lib/telekinesis/client/applications/mteleplayer/bin/mteleplayer_clientside +++ b/clientside/lib/telekinesis/client/applications/mteleplayer/bin/mteleplayer_clientside @@ -50,7 +50,9 @@ use Gtk2; use Gtk2::Helper; use FileHandle; use POSIX qw(mkfifo); - +use X11::Protocol; +use X11::Keyboard; +my $X11 = X11::Protocol->new; ################################################################################################## # Do directory stuff here our %TeKiPaths = getTeKiPaths("C"); @@ -735,9 +737,41 @@ sub windowEvent { my ($mw, $event) = @_; if ($event->state =~ /button\d\-mask/) { doOverlayMagic('dodgemouse',1); + } elsif ($event->type =~ /key.*/) { + my $type = $event->type; + my $keyval = $event->keyval(); + appDBugLog("=== === KEY EVENT: $type ($keyval) === ==="); + sendKeyToWin($X2GoCliWinID,$keyval,$type); } } +sub sendKeyToWin { + my $X11 = X11::Protocol->new; + my $X11K = X11::Keyboard->new($X11); + my $toWin = $_[0]; + my $theKey = $_[1]; + my $type = "KeyPress"; + if ($_[2] eq "key-release") { + $type = "KeyRelease"; + } + my $keyCode = $X11K->KeysymToKeycode($theKey); + print "$theKey $keyCode\n"; + + my $event = $X11->pack_event( + name => $type, + detail => $keyCode, + state => 0, + time => time(), + root => $X11->root(), + same_screen => 1, + event => 'Normal', + ); + + my $mask = $X11->pack_event_mask("KeyPress"); + $X11->SendEvent($toWin , 1, $mask, $event) or die("FAIL!"); + return 0; +} + ################################################################################################################################# # This sub, supposedly try to do a clean termination of the application... sub doSelfTerminate { -- Alioth's /srv/git/_hooks_/post-receive-email on /srv/git/code.x2go.org/mteleplayer.git