Controlling ED from your browser

Controlling ED from your browser - now with download link

Hi,

I've been playing around with my favourite development tool Delphi and some html/css/js script to create a tool for controlling the game from my tablet. You can see it here:
https://youtu.be/iYllKrsic2I

I'm using virtual joystick (http://vjoystick.sourceforge.net/site/) for some of the actions.

* Download *

http://www.pictoselector.com/downloads/BrowserKeyboardSetup.exe

* Installation & Setup *

Run the setup: BrowserKeyboardSetup.exe
A shortcut is optionally installed on the desktop, just to make it easy.

Download and install vJoy at http://vjoystick.sourceforge.net/site/

Run the configuration of vJoy and create a virtual joystick with at least 32 buttons.
(A restart might be needed)

* Working *

Now start Browser Keyboard
Press the Start button: Windows might ask for firewall access this is needed because Keyboard Browser is a simple webserver.
Enter the url that is visible at the bottom edit control into you phone / tablet internet browser.

You can use the vJoy Monitor to see if the buttons are working. If they do not seem to work in Elite Dangerous, use this to see if the application is not working or the binding of the controls in ED.

Now start Elite Dangerous and setup the controls to understand the defined keys and buttons. It is best to check all of them.

Play the game with this external "keyboard"





This is work in progress, feedback is appriciated

You can contact me at martijn@pictoselector.eu
 
Last edited:
Currently my definition for the HTML page generator is done in my code and very easy to extend:

procedure FillPageInfoEliteDangerous(APageInfo: TPageInfo);
var
LTab: TTabInfo;
LButtonRow: TButtonRow;
begin
APageInfo.PageTitle := 'Elite Dangerous Browser Keyboard';

LButtonRow := APageInfo.GenericPartPrefix.AddButtonRow;
LButtonRow.Buttons.Add(TButtonKeyPress.Create('l', 'Toggle Landing Gear', 'green'));
LButtonRow.Buttons.Add(TButtonKeyPress.Create('{INS}', 'Toggle Lights', 'green'));
LButtonRow.Buttons.Add(TButtonKeyPress.Create('u', 'Toggle Hard-points', 'green'));
LButtonRow.Buttons.Add(TButtonKeyPress.Create('{HOME}', 'Toggle Cargo scoop', 'green'));

LTab := APageInfo.TabInfos.AddTab('flight', 'Flight');
LButtonRow := LTab.ButtonRows.AddButtonRow;
LButtonRow.Buttons.Add(TButtonKeyPress.Create('z', 'Toggle Flight Assist', 'green'));
LButtonRow.Buttons.Add(TButtonKeyPress.Create('{TAB}', 'Engine Boost', 'green'));
LButtonRow.Buttons.Add(TButtonKeyPress.Create('j', 'Frame Shift Drive', 'green'));
LButtonRow.Buttons.Add(TButtonKeyPress.Create('v', 'Deploy heat sink', 'green'));

LButtonRow := LTab.ButtonRows.AddButtonRow;
LButtonRow.Buttons.Add(TButtonKeyPress.Create('{DOWN}', 'Balance Power', 'blue'));
LButtonRow.Buttons.Add(TButtonKeyPress.Create('{UP}', 'Power Engines', 'blue'));
LButtonRow.Buttons.Add(TButtonKeyPress.Create('{RIGHT}', 'Power Weapons', 'blue'));
LButtonRow.Buttons.Add(TButtonKeyPress.Create('{LEFT}', 'Power Systems', 'blue'));

LTab := APageInfo.TabInfos.AddTab('landing', 'Landing');
LButtonRow := LTab.ButtonRows.AddButtonRow;
LButtonRow.Buttons.Add(TButtonTitle.Create('Thrusters', 'black', 4));

LButtonRow := LTab.ButtonRows.AddButtonRow;
LButtonRow.Buttons.Add(TButtonButtonsDown.Create([1,5], 'Left / Forward', 'red'));
LButtonRow.Buttons.Add(TButtonButtonsDown.Create([3], 'Up', 'red'));
LButtonRow.Buttons.Add(TButtonButtonsDown.Create([5], 'Forward', 'red'));
LButtonRow.Buttons.Add(TButtonButtonsDown.Create([2,5], 'Right / Forward', 'red'));

LButtonRow := LTab.ButtonRows.AddButtonRow;
LButtonRow.Buttons.Add(TButtonButtonsDown.Create([1], 'Left', 'red'));
LButtonRow.Buttons.Add(TButtonButtonsUp.Create([3], 'Stop', 'blue', 2));
LButtonRow.Buttons.Add(TButtonButtonsDown.Create([2], 'Right', 'red'));

LButtonRow := LTab.ButtonRows.AddButtonRow;
LButtonRow.Buttons.Add(TButtonButtonsDown.Create([1,6], 'Left / Backward', 'red'));
LButtonRow.Buttons.Add(TButtonButtonsDown.Create([4], 'Down', 'red'));
LButtonRow.Buttons.Add(TButtonButtonsDown.Create([6], 'Backward', 'red'));
LButtonRow.Buttons.Add(TButtonButtonsDown.Create([2,6], 'Right / Backward', 'red'));

LTab := APageInfo.TabInfos.AddTab('ui', 'UI');
LButtonRow := LTab.ButtonRows.AddButtonRow;
LButtonRow.Buttons.Add(TButtonButtonsPress.Create([7], 'Target', 'green'));
LButtonRow.Buttons.Add(TButtonButtonsPress.Create([8], 'Systems', 'green'));
LButtonRow.Buttons.Add(TButtonButtonsPress.Create([9], 'Sensors', 'green'));
LButtonRow.Buttons.Add(TButtonButtonsPress.Create([10], 'Coms', 'green'));

LButtonRow := LTab.ButtonRows.AddButtonRow;
LButtonRow.Buttons.Add(TButtonButtonsPress.Create([11], 'Panel Up', 'red'));
LButtonRow.Buttons.Add(TButtonButtonsPress.Create([12], 'Panel Down', 'red'));
LButtonRow.Buttons.Add(TButtonButtonsPress.Create([13], 'Panel Left', 'red'));
LButtonRow.Buttons.Add(TButtonButtonsPress.Create([14], 'Panel Right', 'red'));

LButtonRow := LTab.ButtonRows.AddButtonRow;
LButtonRow.Buttons.Add(TButtonButtonsPress.Create([15], 'Previous Panel', 'red'));
LButtonRow.Buttons.Add(TButtonButtonsPress.Create([16], 'Panel Select', 'red'));
LButtonRow.Buttons.Add(TButtonButtonsPress.Create([17], 'Next Panel', 'red'));
end;

 
Its interesting and a new vector :)
Please dont post code , I understand nothing and get a headache...
+ rep for the effort and idea ;)

Cheers Cmdr's
 
Back
Top Bottom