Alpha

wes-hicks-832390-unsplash.jpg
 
 

It all startS here…

StarKeys-vMFD

The StarKeys-vMFD Alpha, is a pre-release copy of the StarKeys Virtual Multi-Function Display running on tablets, smartphones and even computers, laptops, touch screen devices and more. The alpha is a very early release and subject to change, based on your input and feedback. Please visit our Discord to provide valuable feedback, ask questions, or just socialize your ideas with us.

Find the links to the web clients for each game panel, along with the downloads to the various supporting files on the Game Panels page. After the StarKeys-vMFD PC driver is installed and running on your game PC, you’ll want to return to the Game Panels page using your intended client device, to access the available game panels for your favorite games. You’ll also need to grab the latest accompanying macro files here, to load onto the gaming PC. The macro file will be displayed as text in the browser. You should look it over to make sure nothing unethical is there, such as a macro that attempts keystrokes other than what you expect. If you’re comfortable with what you see, right click and choose save, to save a local copy of the macro file, then load that macro file into the StarKeys-vMFD PC app.

Download the StarKeys-vMFD.zip for the game PC driver package and accompanying support files to get started.

StarKeys-vMFD requires a small executable to run on the gaming PC. Upon first launching the executable you’ll want to choose “Login” and create your account.  The Login is required to properly sync connections between the Web Client (Game Panel) and the Gaming PC. We use the login to provide the player their own private sandbox where they can upload and test new panels. They can also vote on other panels before they become generally approved and available to all. We also use the login to provide the game pc’s private IP to the web client to make connections easier.

There is currently no “create” account on the website, but you will be prompted to login at certain times, such as uploading a new panel, or previewing panels from others that haven’t been made public yet.  The Login also provides a method to sync information between the player PC and the web client game panel such as private IP and file ID used to ensure the right macro file is being used with the panel.

This executable will receive requests from the client, in the form of a macro request, such as macro:4, or run:3. The client has no idea what key press actually maps to macro:4, but this request is specified via an html button/link which is labeled with the expected outcome such as “landing gear.” In order for the StarKeys-vMFD app to know what to do with macro:4, you load a macro file specific to the game you’re playing into the StarKeys-vMFD application. The macro file is a simple JSON formatted file that maps a macro to a keystroke such as:

{
"macro1": {
"value": "{NUMPAD0}",
"description": "Flight Ready"
},
"run1": {
"value": "D:\\Program Files (x86)\\Steam\\Steam.exe",
"description": "Steam"
},
"macro2": {
"value": "{DECIMAL}",
"description": "Power Toggle"
},
"macro3": {
"value": "H",
"description": "Exit Seat"
},
.
.
.
"macro9": {
"value": "N",
"description": "Landing Gear Toggle"
},
"macro10": {
"value": "+2N",
"description": "Auto Land"
},
.
.
.
}

It should be noted, that many games don’t necessarily map every possible in-game event to a keystroke, but provide the ability via an in-game controller setup to properly configure the keys. Therefore, you’ll need to make sure the game is configured with keybindings that match the macro file. We’ve found the best way to do this:

  1. first enable StarKeys-vMFD by running the PC App

  2. loading the right macro file

  3. loading the accompanying panel on your tablet

  4. Enter the game and go to the options/controller section to map keyboard commands

  5. Choose a command to remap and enter the mapping mode. The game will usually enter a special mode where it’s waiting for you to press some key(s) on the keyboard to map the control. Instead of using the keyboard to map the control, instead press the button you want on the tablet/panel.

If you want Z mapped to prone, and the panel has prone mapped to send macro:10, and the macro file has macro:10 mapped to key press Z, then pressing prone in the panel should send a Z to the game. This is a good way to test and verify everything is working correctly.

In an effort to support multiple concurrent panels being used at the same time, we’ve added support in this version to load up to 6 panels at one time.  Each panel is uniquely identified by a fileid element stored within its JSON markup:

 "fileid": {
    "value": "00000000010000000014",
    "description": "elitedangerous"
 },

This fileid must be unique for each macro loaded, at the same time, and must be entered into the client game panel, so it knows what macro to use when processing requests from that panel.  When using the “UPLOAD” feature of the community portal, we’ll automatically change any value provided into a globally unique value across all panels maintained by the community portal. Therefore, the fileid you assign during development will be different than the final fileid when it’s uploaded.  

Accessing Panels through the community portal will automatically append the ?fileid=00000###0000#### to the URL of the panel.  By passing in the fileid this way we won’t have to prompt for the fileid at runtime, but it is expected that you have the matching macrofile loaded on the game pc.  When the macro file is loaded on the game PC, the fileid is displayed. This fileid must match the fileid of the running game panel.

Multi-page Panels

A unique case to this is when a single panel consists of multiple html pages with some sort of tabbing/page select on the panel for navigating between pages. In this case, the group of pages should be uploaded together as a single panel, and will therefore all share a single macro file and a single fileid. This simplifies the effort of dealing with different macro files or having to coordinate different fileid’s between different pages. However, distinctly different panels running on different tablets at the same time is best supported with each panel having a separate macro file.

Once the StarKeys-vMFD application is running and the macro file properly loaded, you’ll need to make note of the displayed “Host IP.” This value will need to be entered into the web client input form, so the web client is properly able to connect to your gaming PC. Both the gaming PC and the client device must be on the same local network (wireless or hard wired shouldn’t matter). In the coming days we’ll have an update to the community portal which will automatically provide the game PC private IP to the web client game panel, so you won’t have to enter it.  It’ll automatically append it to the URL such as http://...panel.html?fileid=0000###0000###&hostip=123.456.789.012

 

Once the macro file is loaded into the StarKeys-vMFD app, you can minimize the app and start the game.

Next you’ll want to access the appropriate game client web panel on your vMFD device of choice. Using a web client on your tablet device navigate to http://www.starkeys-vmfd.com/panels and choose the right game panel to get started. Once the game panel launches, there will be an input box at the top of the screen. This is where you enter the “Host IP” provided by the StarKeys-vMFD application.

There may also be a prompt to enter the fileid corresponding to the matching macro file to be used with this panel.  We attempt to automatically set this when running through the community portal, but if you’re running it manually or choosing to use a different macro file, then you must also specify the proper fileid to sync commands between the game client panel and the game pc.

At this point you should be fully functional, and able to test the system.

To troubleshoot issues, instead of starting the game, you can run notepad on the gaming PC, and as you press buttons on the client device you should see those buttons appear in notepad. The keys are virtually pressed just as if you were pressing them on the keyboard directly. Keep in mind, many special keys such as control, alt, function, etc… don’t actually show up in notepad. So when testing be sure to send macros requests that actually map to real keys. View the loaded macro file to understand what key presses you should expect.

You can also test by running the game, then going into the Controller Setup of the game where you can manually map different game inputs to different key strokes.  Then attempt to program buttons by using the panel to send the keystroke instead of the keyboard, and seeing how the game acknowledges what key(s) are being pressed.

KNOWN ISSUES:

  1. Currently Left ALT always reports as Right ALT.  I’ve not figured out why this is the case, but for now you can only map Right ALT as a valid ALT key

  2. Currently F7 doesn’t seem to be responsive.  I’ve not identified other functions keys to not work but it’s possible. I think I’ve tested just about all of them F1-F12 and I think F7 is the only one not functioning correctly.

  3. The Numpad-Enter key has no mapping at this time and is not usable as a key

Additional steps to run StarKeys-vMFD are provided below:

  1. This alpha is setup to work with Star Citizen and Elite Dangerous, if you want to test other games/applications you can create your own configuration files and html web clients. From the Games section of the community portal download the zip game panel template for the game of your choosing, and use that as a sample to create a new panel.

  2. The program "starkeys-vmfd.exe" has no installer yet, and can just run from whatever folder you’ve extracted the zip to.

  3. Upon running the game server, you’ll first need to login.  Use the login button to create an account if you don’t already have one.  Once you’re successfully logged in you’ll see the game server start, and the “Host IP” displayed.  You’ll need to enter into the client web panel where it prompts for “Host IP”.

  4. Now start your game on the PC

Be sure to load the above mentioned key mapping file, or some buttons on the game client panel won’t work

NOTE:

Most games don’t map all input controls out of the box.  Both Star Citizen and Elite Dangerous are no different. I’ve tried to map as many of the default keys as I can, but you’ll want to review the game panel readme for a list of specific keys that need to be mapped. Note: The key mappings can change from game version to version, so always be sure your macro file is mapped how you want it mapped.

Also, Star Citizen 3.5 maps the F7 key for Weapons Power management.  Since F7 isn’t working correctly, I’m suggesting you remap it in game to F3 (which isn’t used by default).  The macro file has already been updated to send an F3 instead of F7.

 

At this point everything should be functional in game. Please keep me posted of any issues you discover on our Discord page.