Skip to content
Terence Doerksen edited this page Oct 26, 2021 · 20 revisions

Gaming Interface Client (Android.. and more?)

Gaming Interface Client (GIC) allows you to create a customized touchscreen controller for a game or application on your Windows PC. For example if you play a space simulator, you can add custom buttons for Comms, Warp Drive, Power control, etc and have it accessible at your fingertips without remembering complex keystrokes. GIC is part of a two app system that allows the use of a remote device (Tablet or Phone) to provide input into a PC game or application. The second part, GIC Server, is available here - https://github.com/Terence-D/GameInputCommandServer

Features

  • Open Source and Free!
  • Completely customizable - build the layout YOU want
  • Contains some sample screens, and allows you to share / use other screens from other users
  • Supports multiple devices connecting to the server. Use one Tablet for your ship Systems, another for Comms
  • Runs on Phones or Tablets*
  • Supports practically any game or app
  • More features to be worked on!

FAQ

If it's free, why are there in app purchases for Google Play?

Answer: This is to allow easier donations, there are NO features locked behind this. Other than supporting me, purchasing will add a small Star or Coffee cup icon to the main screen as a flair - no features are hidden behind a pay wall, nor will there be for Android. The same code on the store is in this repository.

Where does my donations go?

With my recent work to rewrite the app in Flutter, I hope to release on iOS semi-soonish. However, to do so there's significant costs involved in that. Donations would help make that more obtainable. There's a yearly fee, plus a Mac (can't develop on Linux or Windows) and iPad to test the app on. As you can imagine, these costs are not insignificant. I'm not relying on donations to cover 100% (as nice as that would be!) of these costs, but every bit will help!

What about iOS, Windows, etc..

Work has started to rewrite the application in Flutter. Once finished, it will work on iOS, and possibly even Windows, Linux, Mac, etc.. The nice thing about Flutter is I can do it in stages, the current code is a mix of Flutter and Native code, so I don't have to rewrite it all at once. However, iOS has additional problems I haven't quite sorted how to fix yet... It's $99 USD per year to release, plus I don't own a Mac, or an iPad or iPhone. Donations (Above) would go to help solve these problems!

Why does the screen have such ugly default button images etc?

I suck at art :( If someone wants to donate something better (and has full rights to do so) please contact me.

Can you implement feature XYZ?

I can try, send me an email. Even better would be adding to the Issue tracker at the top of this page.

Video Guide

How to video

Installation

Importing an existing screen

I've included three sample screens that will work with Star Citizen for you to start with. To Import a screen:

  1. Download the screen onto your device:
  2. Open up GIC, tap on the Screen Manager button.
  3. Tap Import.
  4. Browse to where you saved it and tap. The phone will be added to your list of screens.
  5. Choose the screen on the Main screen of GIC, and Click Start!

Creating your Screen

After opening the GIC App, tap on the Screen Manager, then Edit to open the Editor. By default you'll have a gray background with some buttons at the bottom

  • Edit Mode (bottom left corner) - This toggles between modifying a Control/Button, and allowing you to drag and drop them.
  • Settings - allows you to change the background color
  • Save - tapping this will save your changes
  1. Double tap on the screen to add a new Control.
  2. Adjust sizes - You'll see 3 reddish scroll bars. The top most adjusts the width of the control, the side bar adjusts the height, and the bottom line adjusts the font size.
  3. Edit Control - Tap on the control/button once to select, and again to open the Edit window. From here you can adjust:
  • Text to show on the button
  • Key to send
  • Modifiers (Alt, Ctrl, Shift)
  • Font Color
  • Button Primary Background color
  • Button Secondary Background color
  • More depending on the control type
  1. Save your options by clicking Save.
  2. To remove a control, press Delete
  3. Move the Control - From the main Edit window, tap on Edit Mode to switch to Drag and Drop. You can then move the control exactly where you want. Tap Edit Mode again to return to edit mode.
  4. Exiting the Screen - Tap on your device back button (you may need to swipe down from the top initially to make the buttons appear)

Connecting to the Server and Using GIC

  1. First ensure the server is running - see the GIC Server Help for more details.
  2. From the Main screen, you'll need to enter 3 pieces of information:
  • Address: This is the IP Address where the Server is running. See the GIC Server Help for more details.
  • Port: This is the port the server is running at. The GIC Server has the same field, these numbers need to match!
  • Password: This is the password to prevent just anyone from connecting to the server. The GIC Server has the same field, these numbers need to match! The password needs to be at least 6 characters and although I secured it as best I could please do not use any important existing passwords here!

Click Start to begin!

Control Notes

Quick Mode Buttons

In some cases, the app or game may have trouble recognizing the button press. Change it to Quick mode to fix this. Quick Mode works by sending the key press and key unpress commands automatically, so in this mode you won't be able to "hold down" the button.

Switch vs Button

"Switches" work by sending both a Key Press and then a Key Unpress command 5ms later. "Buttons" work by sending a Key press on when you press it, and a Key unpress on button up. Because of lag between the tablet command and the server processing it (and issues with Ctrl/Alt/Shift - see below) this results in issues with games like Star Citizen that uses the same key as a toggle and a long press type command. Also, before I did this, the server would crash pretty regularly.

Left Right Ctrl/Alt/Shift

Originally I had separate commands for Left and Right modifier keys (ctrl/alt/shift). However using these keys I found with the 3rd party keyboard library I'm using it would send the Press Down command, but not Press Up. So for example if I had a button to get out of the Pilot Seat (Alt-F) it would work, but my computer acted like Alt was still pressed afterwards. So pressing Tab would exit the game, etc etc. The only fix, for now, is to only treat them as the same key :(