This is an automated email from the git hooks/post-receive script. x2go pushed a change to branch master in repository mteleplayer. from 976fe97 Embedded overlay test... new d4ff6ce 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 master in repository mteleplayer. commit d4ff6ce620a6d1efec3c5097740513825734fbb1 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