androolloyd / isynergyclient

Automatically exported from code.google.com/p/isynergyclient
0 stars 0 forks source link

Feature: Keyboard Support #5

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
Feature Req: Keyboard support using HID-Support

Below is a patch that adds keyboard support using your HID-SUPPORT. The old 
mouse support was left in place since it displays the cursor and seemed to work 
better on my device (iPad 2 5.0.1)

Add libhidsupport.dylib to the project, and its header:

### Eclipse Workspace Patch 1.0
#P iSynergyClient
Index: SynergyClient.h
===================================================================
--- SynergyClient.h (revision 2)
+++ SynergyClient.h (working copy)
@@ -84,6 +84,7 @@

 -(BOOL) openConnection:(NSString *) remote;
 -(void) handleSocketCallback;
+- (void) sendResetOptionsMessage;
 -(void) handleMessageWithLen:(uint16_t)len;
 -(NSString *) connectionStatus;
 -(BOOL) isConnecting;
@@ -98,6 +99,8 @@
 -(NSString *) serverAddress;
 -(void) setClientName:(NSString *) clientName;
 -(NSString *) clientName;
+-(BOOL) homeButtonHotkey;
+-(void) setHomeButtonHotKey:(BOOL) homeButtonHotKey;
 -(CLIENT_STATE) clientState;
 @property (nonatomic, assign) id delegate;
 @property (nonatomic, retain) NSString *connectionError;
Index: ConfigurationViewController.m
===================================================================
--- ConfigurationViewController.m   (revision 2)
+++ ConfigurationViewController.m   (working copy)
@@ -39,6 +39,7 @@
 @synthesize serverAddress;
 @synthesize clientName;
 @synthesize activeSwitch;
+@synthesize homeButtonSwitch;
 @synthesize activityIndicator;

 #pragma mark -
@@ -103,7 +104,7 @@

 - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
     // Return the number of sections.
-    return 3;
+    return 4;
 }

 - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
@@ -112,7 +113,7 @@
 }

 - (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section{
-   static NSString * titles[] = { @"Server Address", @"Client Name", 
@"Activation", @"Status", @"Keyboard Support"}; 
+   static NSString * titles[] = { @"Server Address", @"Client Name", @"Special 
Keys", @"Activation", @"Status", @"Keyboard Support"}; 
    return titles[section];
 }

@@ -156,6 +157,12 @@
                    }
                    break;
                case 2:
+                    cell.textLabel.text = @"Home Button Hot Key";
+                   homeButtonSwitch = [[UISwitch alloc] initWithFrame:CGRectZero];
+                   homeButtonSwitch.on = [synergyClient homeButtonHotkey];
+                   cell.accessoryView = homeButtonSwitch;
+                   break;
+               case 3:
                    cell.textLabel.text = @"Mouse";
                    activeSwitch = [[UISwitch alloc] initWithFrame:CGRectZero];
                    activeSwitch.on = [synergyClient enabled];
@@ -163,9 +170,6 @@
                    activityIndicator = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleGray];
                    cell.accessoryView = activeSwitch;
                    break;
-               case 3:
-                   // cell.textLabel.text = [synergyClient connectionStatus];
-                   break;
                case 4:
                    cell.textLabel.text = @"Purchase BTstack Keyboard from Cydia Store";
                    // keyboard support installed?
@@ -197,12 +201,13 @@
        NSString * helpTexts[] = {
            @"IP address of Synergy server, either as dot notation like 192.168.3.2 or server.home.com",
            @"Client name as configured on server, leave empty for local hostname",
+            @"Use Command + Shift + H to simulate pressing the Home button?",
            @"Start/stop connection to server",
            @"Current status, indicates if connection was established successfully",
            @"To enter text, the BTstack Keyboard package is required"
        };

-       if ([indexPath indexAtPosition:0] == 2) {
+       if ([indexPath indexAtPosition:0] == 3) {
            cell.textLabel.text = [NSString stringWithFormat:@"Current status: %@", [synergyClient connectionStatus]];
            CLIENT_STATE state = [synergyClient clientState];
            switch (state) {
@@ -310,6 +315,7 @@
 - (void) updateDefaultsFromView {
    [synergyClient setClientName:clientName.text];
    [synergyClient setServerAddress:serverAddress.text];
+    [synergyClient setHomeButtonHotKey:homeButtonSwitch.on];
    [synergyClient setEnabled:activeSwitch.on];
 }

@@ -322,6 +328,7 @@
    [BackgroundApplication setRunInBackground:NO];
    serverAddress.enabled = YES;
    clientName.enabled = YES;
+    homeButtonSwitch.enabled = YES;
    serverAddress.borderStyle = UITextBorderStyleBezel;
    clientName.borderStyle = UITextBorderStyleBezel;
 }
@@ -350,6 +357,7 @@
        clientName.borderStyle = 0;
        serverAddress.enabled = NO;
        clientName.enabled = NO;
+        homeButtonSwitch.enabled = NO;
        [self.tableView reloadData];
        [BackgroundApplication setRunInBackground:YES];

@@ -385,6 +393,7 @@
    [clientName release];
    [activeSwitch release];
    [activityIndicator release];
+    [homeButtonSwitch release];
 }

 @end
Index: ConfigurationViewController.h
===================================================================
--- ConfigurationViewController.h   (revision 2)
+++ ConfigurationViewController.h   (working copy)
@@ -37,6 +37,7 @@
    UITextField *serverAddress;
    UITextField *clientName;
    UISwitch *activeSwitch;
+    UISwitch *homeButtonSwitch;
    UIActivityIndicatorView *activityIndicator;
 }
 - (void) updateDefaultsFromView;
@@ -44,5 +45,6 @@
 @property (nonatomic, retain) UITextField *serverAddress;
 @property (nonatomic, retain) UITextField *clientName;
 @property (nonatomic, retain) UISwitch *activeSwitch;
+@property (nonatomic, retain) UISwitch *homeButtonSwitch;
 @property (nonatomic, retain) UIActivityIndicatorView *activityIndicator;
 @end
Index: SynergyClient.m
===================================================================
--- SynergyClient.m (revision 2)
+++ SynergyClient.m (working copy)
@@ -45,9 +45,11 @@

 #include "mouse_msgs.h"
 #import "../libactivator/libactivator.h"
+#import "hid-support.h"

 NSString *keyServerAddress = @"ServerAddress";
 NSString *keyClientName    = @"ClientName";
+NSString *keyHomeButtonHotkey = @"HomeButtonHotKey";
 NSString *keyActivatorDefautsApplied = @"ActivatorDefaultsApplied";

 const char*     kMsgHello          = "Synergy%2i%2i";
@@ -87,6 +89,10 @@

 #define KEEPALIVE_PERIOD 2

+
+//not the best place for it, but im lazy
+NSInteger printableCharacters[] = 
{32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,5
8,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,
85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108
,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,128,129
,130,131,132,134,135,137,139,140,141,142,143,144,145,146,147,148,149,151,153,155
,156,157,158,161,162,163,164,165,166,167,169,170,171,172,174,175,176,177,178,179
,181,182,183,184,185,186,187,188,189,190,191,197,198,199,208,215,216,222,223,229
,230,231,240,247,248,254};
+
 static void socketDataCallback (CFSocketRef s,
                                CFSocketCallBackType callbackType,
                                CFDataRef address,
@@ -520,36 +537,87 @@
    if (strncmp(kMsgDKeyDown, (char*)message, 4) == 0){
        int a1, a2, a3;
        [self parseMessage:kMsgDKeyDown, &a1, &a2, &a3];
-       // NSLog(@("kMsgDKeyDown ID %04x, MASK %04x, BUTTON %04x\n", a1, a2, a3);
-       if (a1 == 0xefe1) {
-           shiftDown = 1;
-       }
-       if (a1 == 0xefe3) {
-           ctrlDown = 1;
-       }
-       // NSLog(@("CtrlActive = %u, ShiftActive = %u\n", ctrlDown, shiftDown);
+        //NSLog(@"kMsgDKeyDown ID %04x, MASK %04x, BUTTON %04x\n", a1, a2, a3);
+        //NSLog(@"DOWN %u, %u, %u\n", a1, a2, a3);
+        //Do some checking that function keys are translated properly
+        //if its not a printable character and not a supported function key 
dont emulate it
+        //here are the function keys we're going to support.
+        /*
+        NSUpArrowFunctionKey  61266
+        NSDownArrowFunctionKey  61268
+        NSLeftArrowFunctionKey  61265
+        NSRightArrowFunctionKey  61267
+        NSBackspaceKey  61192
+        NSCarriageReturnKey 61197
+        NSDeleteKey
+         */
+        switch (a1) {
+            case 61266:
+                a1 = NSUpArrowFunctionKey;
+                break;
+            case 61268:
+                a1 = NSDownArrowFunctionKey;
+                break;
+            case 61265:
+                a1 = NSLeftArrowFunctionKey;
+                break;
+            case 61267:
+                a1 = NSRightArrowFunctionKey;
+                break;
+            case 61192:
+                a1 = NSBackspaceKey;
+                break;
+            case 61197:
+                a1 = NSCarriageReturnKey;
+                break;
+            default:{
+                //cant call contains with an int, run through the array, if 
found, break, else return
+                BOOL found = NO;
+                int len=sizeof(printableCharacters)/sizeof(int);
+                for (int i=0;i<len; i++){
+                    if(a1 == printableCharacters[i]){
+                        found = YES;
+                        break;
+                    }
+                }
+                if(!found){
+                    return;
+                }
+            }
+                break;
+        }
+        
+        //Shift+apple+H = home key
+        //HWButtonHome
+        if(a1 == 72 && a3 == 5 &&  [self homeButtonHotkey]){
+            hid_inject_button_down(HWButtonHome);
+            hid_inject_button_up(HWButtonHome);
+            return;
+        }
+        
+        hid_inject_key_down(a1, 0);
+       // NSLog(@"CtrlActive = %u, ShiftActive = %u\n", ctrlDown, shiftDown);
    }       
    if (strncmp(kMsgDKeyUp, (char*)message, 4) == 0){
        int a1, a2, a3;
        [self parseMessage:kMsgDKeyUp, &a1, &a2, &a3];
-       // NSLog(@("kMsgDKeyUp ID %04x, MASK %04x, BUTTON %04x\n", a1, a2, a3);
-       if (a1 == 0xefe1) {
-           shiftDown = 0;
-       }
-       if (a1 == 0xefe3) {
-           ctrlDown = 0;
-       }
-       // NSLog(@("CtrlActive = %u, ShiftActive = %u\n", ctrlDown, shiftDown);
+       //NSLog(@"kMsgDKeyUp ID %04x, MASK %04x, BUTTON %04x\n", a1, a2, a3);
+        //NSLog(@"UP %u, %u, %u\n", a1, a2, a3);
+        
+        //a1 is always 0, problem with parse message? or by design?
+        hid_inject_key_up(a1);
+       // NSLog(@"CtrlActive = %u, ShiftActive = %u\n", ctrlDown, shiftDown);
    }       
    if (strncmp(kMsgDMouseMove, (char*)message, 4) == 0){
        int x, y;
        [self parseMessage:kMsgDMouseMove, &x, &y];
        mouseX = x; mouseY = y;
-       mouseSendEvent( mouseX, mouseY, mouseButton);
+        //hid_inject_mouse_abs_move(mouseButton, mouseX, mouseY);
+        mouseSendEvent( mouseX, mouseY, mouseButton);
+        //NSLog(@"Mouse button %u at %f,%f\n", mouseButton, mouseX, mouseY);
    }
    if (strncmp(kMsgDMouseDown, (char*)message, 4) == 0){
-
-       int button;
+        int button;
        [self parseMessage:kMsgDMouseDown, &button];

        // simulate middle/right mouse button
@@ -596,15 +664,17 @@
        } else {
            mouseButton = 0;
        }
+        //hid_inject_mouse_abs_move(mouseButton, mouseX, mouseY);
        mouseSendEvent( mouseX, mouseY, mouseButton);
-       // NSLog(@("Mouse down %u at %f,%f\n", button, mouseX, mouseY);
+       // NSLog(@"Mouse down %u at %f,%f\n", mouseButton, mouseX, mouseY);
    }
    if (strncmp(kMsgDMouseUp, (char*)message, 4) == 0){
        int i;
        [self parseMessage:kMsgDMouseUp, &i];
        mouseButton = 0;
+        //hid_inject_mouse_abs_move(mouseButton, mouseX, mouseY);
        mouseSendEvent( mouseX, mouseY, mouseButton);
-       // NSLog(@("Mouse up %u at %f,%f\n", i, mouseX, mouseY);
+       // NSLog(@"Mouse up %u at %f,%f\n", mouseButton, mouseX, mouseY);
    }
    if (strncmp(kMsgCEnter, (char*)message, 4) == 0){
        // connected
@@ -687,7 +757,7 @@
    return _enabled;
 }
 -(BOOL) keyboardSupportInstalled{
-   return NO;
+   return YES;
 }

 -(void) setScreenWidth:(int)width andHeight:(int)height{
@@ -708,4 +778,10 @@
 -(void) setClientName:(NSString *) clientName{
    [[NSUserDefaults standardUserDefaults] setObject:clientName forKey:keyClientName];
 }
+-(BOOL) homeButtonHotkey{
+   return [[NSUserDefaults standardUserDefaults] boolForKey:keyHomeButtonHotkey];
+}
+-(void) setHomeButtonHotKey:(BOOL) homeButtonHotKey{
+   [[NSUserDefaults standardUserDefaults] setBool:homeButtonHotKey 
forKey:keyHomeButtonHotkey];
+}
 @end

Original issue reported on code.google.com by supersai...@gmail.com on 26 May 2012 at 4:17

GoogleCodeExporter commented 9 years ago
any chance of getting this implemented and pushed via a packaged cydia update?

this is THE killer feature for me!

Original comment by d...@dustincamilleri.com on 8 Jun 2012 at 2:33

GoogleCodeExporter commented 9 years ago
Second that, Quite interested in this development but don't as of yet have the 
technical knowledge of objective c to contribute.

Original comment by Luketull...@gmail.com on 18 Oct 2012 at 6:27

GoogleCodeExporter commented 9 years ago
Can someone build this and put it somwhere on a cydia repo? 
http://www.myrepospace.com/

Original comment by alb...@basecone.nl on 9 Jan 2013 at 2:39

GoogleCodeExporter commented 9 years ago
Yeah if someone could do that, it would be AWESOME!

Original comment by injab...@gmail.com on 11 Jan 2013 at 1:17

GoogleCodeExporter commented 9 years ago
Hey guys.  I made a build that has rotation and keyboard support.  You can get 
it from this cydia repository:
http://cydia.myrepospace.com/thenorth/

One thing to note I had some trouble getting iSynergyClient to run correctly in 
the background on ios 6.1.1 at first.  What fixed it for me was to delete 
/var/mobile/Library/Caches/com.apple.mobile.installation.plist and reboot to 
rebuild the installed app cache.

Anyways, hope this helps those that aren't able to build a package on their own.

Original comment by north.ov...@gmail.com on 10 Feb 2013 at 8:31

GoogleCodeExporter commented 9 years ago
Thank you so much for this, I can confirm it works on my 6.1.1 iPad2 and iPhone 
3gs. Did you end up using my patches? what was the key to getting it to run in 
the background besides removing the cache (thats where i was hung up)?
The Command+h option does not seem to work fyi, i'll dig in if it turns out its 
in my patches, or if you give your source.

Original comment by supersai...@gmail.com on 11 Feb 2013 at 4:24

GoogleCodeExporter commented 9 years ago
+1 for appreciation.  So far, this is working great for me.  Thanks for helping 
those of us not skilled in this area!

Original comment by rockandr...@gmail.com on 12 Feb 2013 at 7:53

GoogleCodeExporter commented 9 years ago
Is there a point I wonder if the developer will update the copy that's
already in Cydia. Forgive me but I'm a little hesitant to install code
from a total stranger's source.

Original comment by johnnyjb...@gmail.com on 12 Feb 2013 at 8:16

GoogleCodeExporter commented 9 years ago
If you know the original developer, maybe you can ask him for the rest of us.  
They are both strangers to me.

Original comment by rockandr...@gmail.com on 12 Feb 2013 at 8:18

GoogleCodeExporter commented 9 years ago
I do see your point.

Original comment by johnnyjb...@gmail.com on 12 Feb 2013 at 8:20

GoogleCodeExporter commented 9 years ago
I got an update in cydia from North for this yesterday and it hasn't worked 
right since, North, can we revert to the previous version? get and update? or 
some source and i'll do my best to patch it up and get a new build?

Original comment by supersai...@gmail.com on 13 Feb 2013 at 6:03

GoogleCodeExporter commented 9 years ago
Hi guys.  I'm the one who built this package.

@supersai yes I used your patches, although I reworked the rotation support to 
use a small cydia tweak I wrote, because otherwise rotation events were only 
received when the synergyclient app was the frontmost (currently running) app.  
As for getting it to run in the background, the main thing was making sure the 
app is installed as a system app (in /Applications) instead of in the app 
sandbox.  Otherwise the BackgroundApplication class's way of backgrounding 
isn't recognized.

I agree that this would all be better if it were integrated into the source 
hosted here, I was just trying to help the people that couldn't compile/patch 
on their own.  :)  I know that Matthias is quite busy at the moment, but at 
some point I'll send him the source I'm using and see if he'd like to use the 
updates.

Also, I'll take a look at the latest update I added to Cydia.  I've slowly been 
fixing small bugs I've noticed.

Regards,

North

Original comment by north.ov...@gmail.com on 13 Feb 2013 at 8:20

GoogleCodeExporter commented 9 years ago
Thanks North,
Good to know, I've been running from xcode (im a professional dev but clueless 
on jailbroken apps) so that must have been my problem. I'm working on getting 
theos on my device now. If I can help out, let me know.
Saiyem

Original comment by supersai...@gmail.com on 13 Feb 2013 at 8:34

GoogleCodeExporter commented 9 years ago
@North I used your 'compiled' deb (because I dont know how to compile one :P), 
anyway the client (iSynergyClient) disconnects after couple clicks. Also when I 
click it hangs for a second or something. If you press home it often 
disconnects too. Also Command + H doesn't work (well I use Windows so I tried 
alt and ctrl, anyway it doesnt work.) I tell you this not to criticize you, but 
to tell you what doesn't work yet. I really like to see a stable version of 
this, it would be awesome!
Maybe I can help, well I don't know Obj-C, but I know C/C++/C# soo I dont know. 
But I really like to see a stable version.
(When it works for a while it works great!)
Some information:
OS: Windows 8 64-Bit
iOS: 6.1 JB (Evasi0n Unthethered)

Regards, let me know when you've updated it! (Or the original author)

Original comment by joelluij...@gmail.com on 18 Feb 2013 at 9:29

GoogleCodeExporter commented 9 years ago
@joe Thanks for the info.  Saiyen and I are sharing code now and trying to work 
through some of these issues.  I'll take a look at the issues.

One thing that I've found, is that you can't scroll using the mouse within the 
iSynergyClient window, I think maybe related to a threading issue.  Some 
information that might be helpful for us to find the issue.

1) Can you connect and then, while leaving the iSynergyClient app in the 
foreground, move the mouse around (without clicking) with no 
freezes/disconnects.

2) If you make it past #1, try pressing the home button and see if you can move 
the mouse around on the home screen (springboard).  If it freezes right away 
here, you may be running into an issue I noticed in iOS 6.1, which could be 
fixed by deleting: 
/var/mobile/Library/Caches/com.apple.mobile.installation.plist and reboot the 
iOS device.

Also, which iOS device/version are you running on?

Original comment by north.ov...@gmail.com on 19 Feb 2013 at 4:24

GoogleCodeExporter commented 9 years ago
1) Well I get often lagg spikes when I speed up. When I use it very slowly it 
works.

2) Yes it works, but again quite unstable, if I move it slowly I'm even able to 
swipe (NotificationCenter, or different page) when I opened a app it crashes.

Switching between laptop, iPhone screen crashes as well. It only succeed couple 
times, to often and the iPhone disconnects.
Also a disadvantage, the mouse movements are logged or something, what I mean 
with that is when you have a lagg spike the mouse freezes, but the movements 
you made will continue when the mouse is unfrozen.
I made it once to Whatsapp and typed a message, after minute or so the iPhone 
disconnects.

iPhone 3GS, iOS6.1 Jailbroken (evasi0n untethered)

Original comment by joelluij...@gmail.com on 19 Feb 2013 at 9:17

GoogleCodeExporter commented 9 years ago
Oh first I had the problem, but after deleting the file it worked. (Had done 
this the first time already.)
Good to have a fast reply, meaning the project is not abandon :D

Original comment by joelluij...@gmail.com on 19 Feb 2013 at 9:18

GoogleCodeExporter commented 9 years ago
@joe, glad that you got it working.  :] 

Original comment by north.ov...@gmail.com on 19 Feb 2013 at 8:22

GoogleCodeExporter commented 9 years ago
I didn't mean it was 100% fixed! I mean when you press home at first it crashes 
then I removed that file and rebooted and then I have the bugs of #16. I didn't 
explain well, I hope you understand it now, post #16 was after I had removed 
the file. So the program is not stable yet.

Original comment by joelluij...@gmail.com on 20 Feb 2013 at 10:59

GoogleCodeExporter commented 9 years ago
I'm on an iOS5.1.1 iPad2WiFi, and the version in the deb linked crashes on 
startup(BigBoss upstream works fine, except keyboard/rotations). I'm trying to 
get access to a Mac upon which to build them myself; meanwhile, suggestions?

Original comment by antechno...@gmail.com on 10 Apr 2013 at 1:49

GoogleCodeExporter commented 9 years ago
I am on iOS 5.0.1 on an iPhone4S... Deb crash at boot. Any thoughts or fixes?

Original comment by metg...@gmail.com on 2 May 2013 at 5:08

GoogleCodeExporter commented 9 years ago
Can we please get an update on this. I really would hate to see such an awesome 
extension fall to the wayside.

Original comment by metg...@gmail.com on 8 May 2013 at 5:11

GoogleCodeExporter commented 9 years ago
Here's the deb that North and I went back and forth a few times in February. It 
ended up pretty good and i'm quite happy with it.

Original comment by supersai...@gmail.com on 8 May 2013 at 2:12

Attachments:

GoogleCodeExporter commented 9 years ago
Hi thanks for the update on this tweak. I have tried on both iPhone 4 (4.3.3) 
and iPad 3 the older vsion (5.1.1), in both cases they jump back to springboard 
at startup, meaning it never get into the app. I have also tried deleting the 
plist file and reboot but still no luck. What else can I do to get this working?

Once again thank you very much for applying this change. (unfortunately I am 
not a programmer)

Original comment by JohnKY...@gmail.com on 7 Jun 2013 at 1:54

GoogleCodeExporter commented 9 years ago
Sorry if this wasn't clear, the project has an iOS deployment target of 6.1, 
but off the top of my head i cant think of a reason why we couldn't deploy to 
an earlier version. i do not have devices to test those versions but here is a 
deb for 5.0, let me know if it works for you.

Original comment by supersai...@gmail.com on 7 Jun 2013 at 3:18

Attachments:

GoogleCodeExporter commented 9 years ago
[deleted comment]
GoogleCodeExporter commented 9 years ago
[deleted comment]
GoogleCodeExporter commented 9 years ago
[deleted comment]
GoogleCodeExporter commented 9 years ago
[deleted comment]
GoogleCodeExporter commented 9 years ago
Hi supersaiyanrusty, 

I tried the iPhone (4.3.3) still crash but iPad (5.1.1) doesn't. So this looks 
positive. Tomorrow I will try to connect it to the server and let you know the 
result. Many thanks!!!!!

Original comment by JohnKY...@gmail.com on 10 Jun 2013 at 2:59

GoogleCodeExporter commented 9 years ago
The build that was uploaded after my comment. (in post #23) works beautifully 
on my iPhone 4S. iOS 5.0.1

My only issue I've noticed is if you have the local host name typed in and then 
scroll down it wipes what ever you changed it to, and puts it to the previous 
entire. So if I originally had something "HTPC.local" and then changed it to 
something like "My-iMac.local" when you scroll down to connect. It loses the 
hostname. Subsequently not being able to connect.

My work around (oddly enough.) was to scroll down slowly to the point where the 
host name and the connect button are both visible on screen. Then it worked 
fine.

Original comment by metg...@gmail.com on 10 Jun 2013 at 11:49

GoogleCodeExporter commented 9 years ago
Confirmed to run fine on an iOS 5.1.1 iPad 2, yay ^-^

Original comment by antechno...@gmail.com on 11 Jun 2013 at 12:09

GoogleCodeExporter commented 9 years ago
[deleted comment]
GoogleCodeExporter commented 9 years ago
[deleted comment]
GoogleCodeExporter commented 9 years ago
Yep confirmed working on iPad 3 (5.1.1), keyboard, arrow keys, mouse all 
working ok (of course no Ctrl-C type stuff, but it's already GREAT!)

One thing I found a bit strange is that every now and then the cursor appears 
jittery, but this may be due to connecting the PC and iPad through iPhone 
hotspot...

As for iPhone 4 (4.3.3), nope doesn't work, but I expected it as the deb files 
only support iOS 6 and 5 respectively.

Thanks for getting this working!

Original comment by JohnKY...@gmail.com on 11 Jun 2013 at 6:06

GoogleCodeExporter commented 9 years ago
The second uploaded deb should work for iOS 5+ so no need for a seperate deb 
for 6.

The original developer of iSynergy was Mathias Ringwald, the owner of this 
Google Code site. I added orientation and keyboard support, and North got the 
application running in the background and updated for iOS 6.0.

Original comment by supersai...@gmail.com on 11 Jun 2013 at 5:26

GoogleCodeExporter commented 9 years ago
Yep it's working fine (as of writing I am typing with my laptop's keyboard on 
the iPad) :D

Original comment by JohnKY...@gmail.com on 11 Jun 2013 at 6:03

GoogleCodeExporter commented 9 years ago
This has been an amazing little utility for me. Leaving my iPhone on the dock 
and have remote access to the phone with out the use of VNC, or something of 
that sort. Its really cool. I don't understand why this hasn't picked up 
traction in the community. 

Original comment by metg...@gmail.com on 13 Aug 2013 at 9:53

GoogleCodeExporter commented 9 years ago
I just set this up on iOS 7 and the springboard crashes as soon as my mouse 
enters the ipad. I have this working fine with my windows pc to my macbook 
screen but I can't add a third screen being my iPad.

Any updates for iOS 7?

Original comment by fsemina...@gmail.com on 10 Feb 2014 at 5:33

GoogleCodeExporter commented 9 years ago
I have just tried this out on iOS7. It works ok, but on my iPad mini and iPad 
Air, when I rotate to landscape, the mouse pointer only goes about 2/3rds of 
the way across the screen. Any ideas about what is happening?

Original comment by virb...@gmail.com on 1 Aug 2014 at 5:19

GoogleCodeExporter commented 9 years ago
Well, on my iPad mini, it seems that the pointer is covering the whole screen 
so I am not sure why ...

Original comment by virb...@gmail.com on 1 Aug 2014 at 5:21

GoogleCodeExporter commented 9 years ago
Haven't touched this since iOS 6 (no ios7 device), but I bet it's not
getting the rotation event.

Try rotating back and forth or make the initial connection in the
orientation you need.

Original comment by supersai...@gmail.com on 1 Aug 2014 at 5:31

GoogleCodeExporter commented 9 years ago
Use FullForce in Cydia to stretch the screen. Use the Expanded option, works 
great for my iPhone 5.

Original comment by ScottAHe...@gmail.com on 14 Aug 2014 at 5:26

GoogleCodeExporter commented 9 years ago
hello, did anyone figure out how to fix the mouse only going 2/3s way across 
screen on ipad air?  thanks

Original comment by hartefbr...@gmail.com on 26 Aug 2014 at 12:01

GoogleCodeExporter commented 9 years ago
Hi, I am also seeing the problem with the cursor only going 2/3rds of the way 
across the screen on an iPad air.

Original comment by virb...@gmail.com on 11 Sep 2014 at 5:48

GoogleCodeExporter commented 9 years ago
[deleted comment]
GoogleCodeExporter commented 9 years ago
Supersaiyan, North, can I get the latest patches / source that you've got? I 
want to get delete, enter, arrow keys, etc. working. I could grab the patch 
here and the patch for orientation in the other issue but I know you've both 
made subsequent improvements and my iOS knowledge is minimal. Can you help a 
fellow programmer out? Thanks.

- bhiggins

Original comment by bhiggins on 4 Jan 2015 at 8:34

GoogleCodeExporter commented 9 years ago
You can email me at gmail btw, if you'd like. bhiggins at.

Original comment by bhiggins on 4 Jan 2015 at 8:34

GoogleCodeExporter commented 9 years ago
I just pushed it out to github.

https://github.com/supersaiyen/iSynergyClient

Cheers,
SS

Original comment by supersai...@gmail.com on 4 Jan 2015 at 8:43

GoogleCodeExporter commented 9 years ago
Thanks for the surprisingly fast reply, and the source! Cheers mate.

Original comment by bhiggins on 4 Jan 2015 at 8:46