richardbuckle / edrefcard Goto Github PK
View Code? Open in Web Editor NEWCreates a printable reference card from your Elite: Dangerous controller bindings
License: MIT License
Creates a printable reference card from your Elite: Dangerous controller bindings
License: MIT License
Free to modify line art and photos have been found via google
See also https://developer.oculus.com/documentation/unity/latest/concepts/unity-ovrinput/
On the Thruster, I have the wheel mapped to zooming the radar
<RadarRangeAxis>
<Binding Device="T16000MTHROTTLE" Key="Joy_VAxis" />
<Inverted Value="1" />
<Deadzone Value="0.00000000" />
</RadarRangeAxis>
According to the reference card, you believe this to be the UAxis. This is the default config provided by the game, I didn't touch that part and it is working.
Generated card shows nothing is mapped to the wheel.
Hello I have problem with Thrustmaster Cougar Hotas, which I only have the stick (original throttle is missing from my set) which shows up as device: 044F0400
If I replace "044F0400" with "ThrustMasterWarthogJoystick" in the config file, I can get configs mapped on warthog stick which seems to be identical with this Cougar one.
I have a Saitek (yes, earlier than Logitech's buyout) X-56 but have only been using the throttle of it for years now. Generating a bindings build for my setup thinks I'm also using the stick.
It would be good if you took into account all three variants (both, stick only, throttle only) that are possible with such devices. I realise this will entail fiddling with extra images etc :) .
Hi,
first off: Amazing project, loving this!
My issue: According to the 'default' card here: https://edrefcard.info/device/T16000MFCS you are working under the assumption that 'RZAxis' is the 'twist' axis on the Joystick.
My config would like to somewhat disagree with you on that. ;)
On my Joystick I mapped the (R)ZAxis to cycling the subsystems of my target, this is my config:
<CycleNextSubsystem>
<Primary Device="T16000M" Key="Neg_Joy_ZAxis" />
<Secondary Device="{NoDevice}" Key="" />
</CycleNextSubsystem>
<CyclePreviousSubsystem>
<Primary Device="T16000M" Key="Pos_Joy_ZAxis" />
<Secondary Device="{NoDevice}" Key="" />
</CyclePreviousSubsystem>
For non-key inputs the same axis is recognized as 'RZAxis' as seen here
<CommanderCreator_Rotation>
<Binding Device="T16000M" Key="Joy_RZAxis" />
<Inverted Value="1" />
<Deadzone Value="0.00000000" />
</CommanderCreator_Rotation>
I'm lucky enough to own one of these and am standing ready to provide whatever information you need in order to add support.
I might be missing something trivial, but with the service being down I've been trying to get this working on my local server as I just got a new HOTAS.
I can run bindings.py locally, and it runs, so I think i've got all the dependancies correct. However when run through apache, I keep getting an error 500, and all the log shows me is:
Fri Mar 12 12:30:38.009876 2021] [http:error] [pid 3377] [client 10.0.0.1:61610] AH02429: Response header name '<!--' contains invalid characters, aborting request, referer: http://loclhost/EDRefCard/
(I did copy the www to a directory EDRefCard directory off the main server, as I have other things running on that apache root).
I've tried turning on
import cgitb
cgitb.enable()
But haven't been able to get additional diagnostics to know what the problem is. Anyone have any ideas?
https://edrefcard.info/binds/vfexry
Says it's unsupported, but shows an Xbox card.
bindingsData.hotasDetails
has huge amounts of duplication, probably because of incontinence on the FD side.
Investigate cutting this down by routing the calls via alias tables and similar.
These are configs that have no saved pickle file.
Create and test a script to reap them.
Test carefully before deploying in live.
You can skip one of your docker steps now and just do
docker run -d --rm --name edrefcard -p 8080:80 jeffstokes72/edrefcard
See attached bindings. There are three instances of Device="Keyboard" Key=""/
namely CycleNextPage
, CyclePreviousPage
and ToggleAdvanceMode
. This is causing an exception in text()
line 1795.
Per https://docs.python.org/3/library/cgi.html#higher-level-interface
Consider using FieldStorage.getfirst(name, default=None) and FieldStorage.getlist(name) instead of FieldStorage.getvalue("item")
This would require someone with graphic talent.
E.g. https://beta.edrefcard.info/binds/ltdkyp from ./bindings/Defaults 3.3
.
Cam roll up etc have no rounded rect.
I often use my EDRefCard to try to find my binding for a certain feature, either
JOY29
or whatever is.It's also often a somewhat frantic search because I'm actually playing when I realize I can't remember how to send a certain command without rebinding it.
So: a way to search the ref card would be great. I can think of at least two ways:
JOY29
, one of the other things on that button might jog my memory as to where it is.Thanks, it's a great tool!
I'm considering adding support for MW5.
Would you be happy to merge those changes?
I guess we should just aim at supporting multiple games.
Any advise or opinion on how to got about implementing it?
I've implemented support for Virpil's VPC WarBRD Constellation Delta a while back.
This is because FD's default bindings file erroneously mixes "GamePad" and "XB360 Pad" as the device.
Maybe we can detect and work around this.
Add entry for GalaxyMapHome
.
for consistency.
There's a horrible algo in bindings.py around line 465 and duplicated below:
hidden = False
# TODO: this is O(N^2), fix
for moreGeneralMatch in bind.get('Controls').keys():
if moreGeneralMatch in control.get('HideIfSameAs'):
hidden = True
DRY up and fix.
With the latest beta release (week 3) there is a new setting added for fss: ExplorationFSSRadioTuningAbsoluteX.
e.g.
<ExplorationFSSRadioTuningAbsoluteX>
<Binding Device="SaitekX56Throttle" Key="Joy_VAxis" />
<Inverted Value="0" />
<Deadzone Value="0.00000000" />
</ExplorationFSSRadioTuningAbsoluteX>
Pings to the IPv6 address of 2001:41d0:401:3100::4b63 are not responding.
Docs:
https://docs.ovh.com/gb/en/dedicated/network-ipv6/#step-5-test-the-ipv6-connectivity
https://docs.ovh.com/gb/en/dedicated/network-ipv6/
Test resources:
http://www.ipv6now.com.au/help.php
https://www.mythic-beasts.com/ipv6/health-check?domain=edrefcard.info&submit=
https://ready.chair6.net/?url=edrefcard.info
https://ipv6-test.com/validate.php
Binding Device="045E0B00"
Add a column in the HTML list in between the config name and the timestamp that states which devices the config uses. Omit keyboard and mouse.
Tested an upload using the new .4.0
format for bindings file, and also one that I made for the Steam Controller. It seems EDRefCard doesn't have support for that controller; I got an error. "The error also suggested supplying the reference qyrnxs
and we will attempt to add support for it."
Would it be possible to add support for the steam controller?
It would mean going through all the artwork in ./Reference Sheets
and defining a box location for each.
Throttle H3 and H4 are opposite.
Following is shown to be on the upper hatswitch H3:
<CycleNextPage>
<Primary Device="SaitekX56Throttle" Key="Joy_21" />
<Secondary Device="{NoDevice}" Key="" />
</CycleNextPage>
<CyclePreviousPage>
<Primary Device="SaitekX56Throttle" Key="Joy_23" />
<Secondary Device="{NoDevice}" Key="" />
</CyclePreviousPage>
It should be shown on the lower hatswitch H4.
Currently we have achieved decent test coverage on the parse side, but nothing on the output side.
Create meaningful unit tests in the output side.
I got it working on DreamHost with the default Python 2.7.6 but it was quite a bit of work.
I have to mention that I had managed to hardly ever touch a Python script before in 20+ years of software engineering. I'm more of a Perl guy. Doing the backport from 3.x to 2.x was rather funny.
I'm not sure if you are interested in getting those changes merged back here, nor if it will still run on 3.x.
I'll try clone and push the changes later today.
I couldn't wait, so I wrote a userscript for searching EdRefCard's list page. It's a very basic search for a "very basic" page, but hopefully it helps more people than just me. (Heck, maybe you can make use of it in lieu of a real search)
// ==UserScript==
// @name EDRefCard Search
// @version 0.1
// @author Liru Færs
// @match *edrefcard.info/list*
// ==/UserScript==
document.addEventListener('keydown', function(e) {
if (e.keyCode != 191) return;
let search = prompt("Search for what?");
for (let tr of document.getElementsByTagName('tr')) {
tr.style.display = !search || tr.innerHTML.includes(search) ? "block" : "none";
}
});
Simple how to use for those that can't read code:
Copy paste and save this as a new userscript in TamperMonkey/GreaseMonkey, refresh the list page to activate the script. Then navigate to the edrefcard list page.
Press ? or / to bring up a prompt for what to search for.
Type in what you want to search for (it is case sensitive).
To search for something else just press the key to bring up the prompt again.
To clear the search and show everything again just type nothing in the search prompt.
Anyway use it, don't use it, tear it apart, I leave it here for free use.
The binding of Right Shift to enter FSS is only shown for certain combinations of selected categories.
Per https://edrefcard.info/binds/khrgep this bindings file states the device as "GamePad" while using key IDs for "DualShock4".
This seems to be a FD bug, It may be possible to work around it. We already have a load of "GamePad" aliases with parallel key names in bindingsData.py.
Edit: ImageMagick can now work entirely in the vector domain, this becomes:
Reference sheets/*.afdesign
to SVG.Reference sheets/*.SVG
parallel to to www/res/*.PNG
.www/res/*.PNG
.On my system, the file "T16000MHOTAS.binds" in Program Files (x86)\Steam\steamapps\common\Elite Dangerous\Products\elite-dangerous-64\ControlSchemes shows two "invalid" items under HoloMe when I upload it to edrefcard.
<CommanderCreator_Undo>
<Primary Device="Keyboard" key="Key_Z"/>
<Secondary Device="{NoDevice}" key=""/>
</CommanderCreator_Undo>
<CommanderCreator_Redo>
<Primary Device="Keyboard" key="Key_X"/>
<Secondary Device="{NoDevice}" key=""/>
</CommanderCreator_Redo>
Looks like maybe the default bindings file doesn't have a space between "
and /
and that's what edrefcard doesn't like?
Is the site down? It says ERR_CONNECTION_TIMED_OUT
.
No one seems to care.
main() obviously needs to be broken down now we have a better grasp.
Parse bindings/testCases/two_modifiers_swapped.binds
The two expressions of the combo modifier are not correctly recognised as being the same.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.