#Atari VCS and theGAMEPAD mappings for SDL2
1 messages · Page 2 of 1
almost moot point until it gets updated
the gamepad tester is pretty stable though
for Your Game purposes, should be good enough to just back up your config scripts, delete Input, reimport Input
Thats really the ONLY TEST in there I am concerned with
that's what we've been telling people to do, anyway
juju documents breaking changes quite carefully
so should be no/little issue keeping up to date
for purposes of VCS controller wrangling that's all we need for now i think yeah
most of the stale tests will be for old/outdated features that are since-improved
Thats what I was thinking. Input is very well maintained and appeared to have that non-breaking professionalism it deserves
yeah a good number of Input's contributors do GM stuff (particularly mobile/console) as at least part of our day-job employment so
motivated to keep it production-ready
Basically, I could just remove Input from the tester, and replace the newest release and go on about my business there
I had been downloading a fresh version each time
For practicality, 5.5.2 is fine for what we are doing anyways
probably easiest to just grab the last release and if you really need to wipe from scratch just delete and reimport yes
if versions change While We Work on this doubtful anything will break
(except 6.0 which is major changes but i think we'll be done first)
best is to just settle on a version of Input and see it through until your project is done, though updating shouldn't be too painful
external stuff like mapping data can be updated independently of Input version
At the rate of your delivery, we may want to move forward where I get the mapper made so we can add it THEGamepad 😉
I am teasing
Its all you. That mapper doesn't matter to me if it goes in now or whenever you get around to completing it
i still haven't pushed any of our findings to Input technically, just upstream to SDL
glad to put a pin on and call it done whenever though, don't feel too obliged to dig into Linux stuff since I do have Herbs stuff already in there and it's probably Good Enough if not Perfect
Not sure anyone is dying to get that
yes only you and i.. for now
honestly i think the CD32 is probably the worst console controller ever made. or up there. part of the motivating factor in buying one
people can manufacture nostalgia for literally anything
we be special
Its unbelievably a comfortable controller despite its looks
I NEVER thought that until I got the A500 mini
(just kidding nothing beats the zeebo boomerang)
they definitely polished the turd, looks like a fine enough snes-style pad to me.
the boomerang looks like something an Aussie company would make
its the brazillian wii remote
It does!
No one told us that Brazil exiled their inmates there too!
hahaha
All I can find so far are interesting boomerang designs, bikinis with boomerangs on them and a armchair that's designed in a similar way to a boomerang
I like that
Me too
Nice yard chair
Want to know the price?
yes
Just a few pennies
You can make a log-based boomerang armchair 
BOOM!
ontario people are obsessed with adirondack chairs, not certain they're really even a canadian thing though
Yeah reading it up online, it was designed/made in New York
Muskoka chair
Interesting
Yeah I thought there was CA version
muskokan cottage people would try to claim a NY chair 😒
lol
like-likes
Something I have been amused about is when countries say the term "Stupid Americans" - knowing they mean USA
But when you really look at it - they are insulting EVERY country in both North and South America!
😂
I know we have some seriously stoopid peeps here!
@humble fjord I saw you removed the offset
You may want to remove it from the function declaration too 🙂
I also see your point about NOT making _default_value auto set to 0
très bien mon ami
👍
After running rabbit holes and not staying on task well... I finally tested it out on macOS
It works like a dream 🥰
Android... I need to set that up to work on either OS
Pretty sure I will need to download some devkit for GM to build to it
oh i can provide the apk 🤔
Assuming you had mobile export, just Android Studio mostly
but yeah alynne could provide the apk
if u wanna stick this in the gamepad tester readout somewhere be our guest
One moment
(make sure to run in windows before pressing the APK button so save yourself sorrow)
Well my current sorrow is despite having my Android stuff setup, GameMaker is just failing upon running the executable (and not just in Input...)
🥴
oh
I see
Miscopied my settings
@humble fjord slapped it underneath the gamepad stuff on the left
It didn't crash on Windows so I'd say that's good lol
Sweet! I did add Android on the mac, but not the Android Studio. Will set that up later.
👌
I stepped away from my mac, but I will grab this and place it on my droid
On the Droid now
Just got the app
Gotta add the gamepad
Input is NOT working
it runs on the droid
BUT the VCS controller isn't recognized
I am gonna try exiting it and restarting
Also, when you compiled, did you grab the latest gamecontrollerdb.txt?
Hmmmmmmm well, I was just compiling not to grab anything else so lol
Lemme go do that
no worries... stepping away for a few minutes
look at right side, not showing up ?
even if its not in the db it should do... something
True, but it did nothing at all on either side
I just got back so will restart
it does something after restarting
not mapped but sees it
gonna grab the latest Tubular made us and try again
It actually looks good using Input on droid 😁👍
The mapper doesn't seem to be working

It is still going to the leftx
@tribal schooner did you by chance rename the gamepaddb.txt to sdl2.txt?
It seems like Input still has the old mapper
Well, it seemed kind of silly that alynne advices against it, despite the fact there's absolutely nothing for gamepaddb.txt
Unless alynne is looking for all blanks??
I always replaced sdl2.txt's content with the gamepaddb.txt's content
That's what I did
hmmm
@humble fjord we really didn't test the VCS mappers after we pulled them, so this may be that fallout
I am speaking purely on Droid
Mac and Windows were both fully tested
I have to run some errands in a few minutes so I will come back and finish setup of Droid to work on the Mac/PC for compile
I will have a go at seeing what I can find on what its doing
@tribal schooner YOU ARE AMAZING help either way so THANK YOU for trying 🙂
Its like this for the VCS at all levels
I do anything for Input
❤️
I am eager to get to the bottom of this
And we will 🙂
yeah dont worry all lol
everything is exactly as it should be
ill take a look when i get home but im pretty sure i know whats up
no issue
problem 1, name is wrong
swear i fixed that one but 🤷♀️
I'll be up for maybe another 20 minutes
i won't beat u home but if u want to build again i updated the pinned script
and just delete that line i linked
just full out delete sdl2.txt please
and dont include gamecontrollerdb.txt
dont worry too much tho all this can wait no hurry 😉
Done
danke
And done
And done
also done
@arctic pasture
actually wait
Hold on
okay yeah it's good
@humble fjord I have two input folders and I kind of thought for a second I've been deleting sdl2.txt from the wrong one lol
One for your stuff, one for jujus

Y’all rock! Love working in teams like this 🥰
I’m still out but I will grab and test to report results
👍
yes... bedtime
Happy Easter! 🐣
Yep
Only reason I'm still up at all is cause I'm just deving on stuff
Been reworking my audio library over the past couple of days... Coming together very nicely
Here! Here! ONLY reason to be up that late 😁

Sonus.AddIndex([
"ui_menu_popup_message_04.ogg",
"ui_menu_popup_message_022.wav"
], "ui_popup");
Sonus.ui_popup.SetPitchRange(.5,1);
Sonus.ui_popup.SetEffect(0, AudioEffectType.Reverb1, {
size: .2,
damp: .2,
mix: .7
});
An improvement, given the old way was... Messier lol
Nice
SonusGroupAddSound(snd, "ui_popup");
snd = SonusIndexAdd("ui_menu_popup_message_04.ogg");
SonusGroupAddSound("ui_menu_popup_message_04", "ui_popup");
snd = SonusIndexAdd("ui_menu_popup_message_022.wav");
SonusGroupAddSound("ui_menu_popup_message_022", "ui_popup");
group = SonusGroupGet("ui_popup").SetPitchRange(1,2);
snd = SonusIndexGetRandom("ui_popup");
Adding external sound support and all that jazz for my own game (modding integration)
I have a sound/music manager too, but prolly not so complete as yours. I may end up grabbing it 🤷♂️
I built it
I gotta digest Input first
I literally joined this server when I started messing with it. So I still need to get it added into my latest project
All in due time 🙏
Best part is I’ve learned a lot by need since alynne and I have started down these mappers
IMO that is the best way to learn
Crash and burn baybay!

Yeah it’s been an adventure for me too
Especially between building iOS test apps for alynne and buying new controllers just to get their mappings covered
Kind of figured out how the mappings get done too
Yeah same here. I wanted SDL2 mappings and it appeared GM had a way to do it but I was sadly disappointed to the degree it really didn’t support that as I thought
I went on a search for any support on how to institute such a thing and found Input. The rest is history 😁
I hand crafted the mappers using alynne’s sdl2 guide in Input and after that, I joined this server
Since then I evolved more with it and realized that the SDL Gamepad mapper was more robust than I thought. Somewhere I read it has a need to be checked before just using its mappers for new controllers. Thats actually why I just forgone that tool and built them by hand; learning enough to be dangerous but seemingly worked
All the while I had no idea what I was reading and reviewing was alynne’s 🤣
Good stuff
LOL
I’m a “sicko”
yeah (one element of) my scheme to whittle down our final bit of vcs-related stuff to a very small commit that lets you get the twist behaving with public Input features and not too much guts-wrangling
Yeah thats the best route
Finally back aaaaaand I grabbed a spiffy new USB 3.0 storage drive to install Linux to use on one of my VCS consoles 😁
Its not the latest gen but good ‘nuff
boop
This is what its doing. Look at left right and a0
I’m gonna mess with Linux for a bit and see about Android setup with GM. Already added the stubs for the VM in Mac
.
yes the mapping will be wrong.
i instructed as much out of elf for a reason
the question is if the twist checkers works
looking like no
since "Classic Controller" is too generic for me and GUID can be unreliable i'm gonna need the result of gamepad_axis_count, gamepad_button_count and gamepad_hat_count for the device which means back to the testing data we go...
a10, b46, h1
dear lord lol
ah right. we have 2 guids.
did you check if both of these had the same mapping ?
wait no my bad, same GUID ?
I thought so. I can re-run the app we used to get the Android mappers
35643263313264386134376362363435
yeah we're all good. it's just another typo on my end, sigh
lol
Its OK. We all have them
Can you rebuild and we try again?
I know Elf did it last
Surprised you don't copy and paste
can do I think
esp GUIDs
Thats all I do
Ouch
lol - I overkilled on the storage stick's size, but 256 wasn't available and the options for 128 were junk so I went for the 512 GB USB
It’ll do
looks good
housemate has used this same stick for basically everything for many years lol
Yeah I don't mind these
I like Patriot more, but for a quick Wally-World pickup its decent
I gotta screw about in the Atari VCS forums to see where the instructions to install Linux on the drive...
Atari made it less than intuitive
Its also specifically locked to using security enable only OSes
🥲
Like Windows 8/8.1/10/11
Or any Linux distro that is
ok yeah i officially am not set up for android at the moment lol
Yeah its OK
i'll edit the script post once more tho in case you or elf get to it
Yeah no worries
doon #1090171528206893107 message
I think I will just concentrate on Droid
nap for me
yeahh.. i like to have a consistent sleep schedule but family challenges and pet challenges and life happening and etc.
Just depends on what I am doing and for whom
Understood
It seems to me that you free-lance?
If that is true, you may do work around the globe; so being up to meet up with clients is a must
I just have that feeling you free-lance. I could be waaaaay off 😉
I did work with Indians as in the country of India... so we had some strange hours going on
At this point, I work locally so I no longer need to do that
yeah your assumptions are mostly right
But my position is heavy in the work load and long hours endure
i do contract work through a recruiter mostly these days not really freelance but not too far off
Similar
and right now i'm housesitting between contracts for a few weeks
income is income
oh haha housetting doesn't pay just family favours
i'm looking after my mom's dog who is used to waking up super early and since i'm more of a late-morning-late-nights person the dog's schedule has had a funny effect on mine
which is like going to bed after dinner and waking up before sunrise
anyway.. good luck with android 👍
and elf if you see this before computercoder gets android built.. script update is in the pin ;-]
I will be on for a bit. Tag me if you need me
ok =]
Working on Droid
keep thinking about this embroidered sd card sweater
So nice
also just recieved a preview from a painter i commissioned a few little canvases from for the office....
Mac version of GM did some realy wierd stuff when viewing the GML - its SUPER SMALLyet the window itself is the normal scale... grrr
weird haha
lol I typo like that... yep. That's me. e and i
look how I spelled "wierd"
Awe you're trying to help me out! ❤️
no !! i didnt notice !! until you pointed it out lol
like the saying goes, i before e except in most cases where its not like that, actually
I'll get a pictuire in a bit so you can marvel in its sheer awesome-ness
Its just the North Cackalacky comin outta me!
(North Carolina is also referred to by this name too)
As is South Carolina
Means Country Hick
Android Studio Electric Eel coming now... Apparently I have Droid 10 (API 29)
What version does GM default to?
I guess whatever you have for an API installed
wow. My OS version just missed WiFi debugging and running over ADB 😢
Thankfully USB works
Just finished setting up Android Studio... And installed the USB drivers from Samsung
Next is to see what trouble I can get into with GM
🙂
Looks like I'm in business!
Well. The fun just continues with Droid...
Android Studio Electric Eel has an issue with the JRE location in the current release, and its not gonna be fixed until later this month
In order to use Electric Eel, you need to copy the contents from the jbr folder to the jre folder; making sure you leave the structure and file contents intact that existed within the jre folder
C:\Program Files\Android\Android Studio\jbr
C:\Program Files\Android\Android Studio\jre
After all that fun... I still get another error...
I feel I am close
What I am wondering still is the Java NDK. Off to research that.
Its not found, so I may as well look into that now
I think i have this sorted 🙂
The Android Studio has a way to grab the versions of both the SDK and NDK versions needed. NDK will automatically follow the version needed
oooo pretty
Hey Elf
This is nuts!
I basically setup everything, compile and then it tells me that gradle version 7.4.0 isn't found, but I have 7.5.1 installed
I thought it was backwards compatible?
Almost tempted to remove Android Studio Electric Eel and install Chipmunk or one before it
The sheer fact that it should be resolved with the next release of GM holds me back
1-2 weeks or so out?
I knew there was a reason I stopped messing with Droid.
Still the same heroics and acrobatics I remember
on the positive side once you're good you're good
gm wrangles android better than SEVERAL other frameworks
yes v_v
Android Studio appears to be happy
Honestly - Installing and setting up Linux is easier
oh well
That is very nutty
Sorry I'm playing Plateup right now and it's funny
lol
lol agree
I'm sorry
I am really frustrated with it at this point
I may need to just step away and come back at it later
Besides, I have a shiney new USB stick stuffed in my PC awaiting a Linux build 😉
fair enough !!
yeah i've seen this haha
despite having DPI-aware related settings regardless of what you set them to it does not seem to be very DPI-aware at all 🤷♀️
Nope and I thought maybe I set the OS back to 100% scale
I also gave one more go at android. Downloaded both OpenJDK 17 and 11, 11 worked with an completely new issue
I am just gonna hang it up for tonight
I will chat more later in the morning!
Time for sleep 🥱

@tribal schooner change the string to "Classic Controller" and hit build for us if u please
hold on lemme get the new script changes first
Oh
I guess that's all that's needed
@arctic pasture
oh wait I miss the whole "what I do for work" convo
Damn
Could've had contributed in the moment
typical folly of being asleep
Sleep is for the weak
And I am weak
Anyway I can contribute it now
I'll explain it with a single emote

i have done all kind of blue collar work but somehow never janitor work
odd accidental omission
pretty impeccably good at cleaning though if i do so say
I've learnt how to clean fast at my job
So fast that I end up having not a lot to do besides minor cleaning tasks
Which I sometimes don't do
So I just go on my phone and remote into my PC to do other things sometimes

Thanks @tribal schooner for compiling. I was tok caught up in setting up Droid on my end to ask 🤨
Downloading it now
Twist is NOW WIRKING on Droid!
The mapper is definitely not set but it works regardless 🙂
OK we all good
I still need droid setup. Gonna get that working eventually
Today is busy since its Easter and the extended family always meet together at moms
Happy Easter! 🐇
OK good, all working as per plan then
Gonna call this settled. 6.0 will have nicer features to make this whole case a little easier to deal with
and i'll have to reauthor the checker for those changes and provide u some snippets but 6.0 is probably a long way off so that should do u for now i think 👍
thankfully most of the weird stuff in this script can go away with those changes so it should be relatively easy to map the twist
wakeup included
we didn't test the mapping because tbh I don't think we need to -- your notes were sound
if/when you or someone else actually builds for Android and wants to be able to use the Atari VCS Classic controller we can confirm but.. i'm satisified we're good
(this whole effort has made it increasingly likely i'll just grab one or a pair of these things if i see a reasonable price for them lol)
Wait until Black Friday, but just after it. Atari provides the best sales AFTER Black Friday. If you want them bad enough, the Black Friday deals are still really good
Just head to https://www.atari.com and look for the console hardware
I did download Linux Ubuntu. I haven't had the time yet to install it
Maybe this afternoon after the family get-together
Thats very nice of you to say! 🥰
this guys videos keep Entering my Feed and his saluting in all the openings has become distressing
https://www.youtube.com/@DavesGarage
you have opened my third eye to people doing Weird Salutes
@humble fjord I've not seen this particular person before, but he does pack some really nice knowledge
Especially since he first handed knows Windows from within 🙂
I watched the top video that came up when I followed the link to see what you were talking about, and YES that saluting is weird!
BTW: I see and understand salutes differently from those that were not in the service
The salute is a thing of utter respect. which is earned through being a specific status or rank in the service
The service salute all those above them in rank. Civilians have the HIGHEST rank alongside the President and Vice President
The service members serve the civilians of the nation
Anyways, that's where I come from with the salute.
Its nothing more than how I was taught early in my military career (boot-camp)
That said, I just giggle at the various uses of the salute 😛
Almost have Linux Ubuntu 2022.04 LTS installed on one of my VCSs
Excuse the mess, but thats the VCS with the classic controller and my kb/mouse connected installing Ubuntu 😀
That’s AWESOME
Its the SAME size as the Steam Deck 😉
I have a picture with both next to each other
This VCS has 32 GB and a 1 TB internal M,2 drive 🙂
Hence why I chose it between the two to use for this exercise
I am NOT using the internal drive though, just an external USB drive
This is the Black Walnut Edition
This is both the Onyx Edition and the Steam Deck
I called it the VCS Deck 😂🤣😂🤣😂
It looks like an updated Atari 5200 to me 😄
Well the installation is complete... time to see what damage I can do with it 😄
It actually completed about 10 minutes ago, but I wanted to share those pics with you
Ironically, the Deck is WAAAAY more powerful than the VCS
SteamOS has always allowed PC mode too
WILD! I didn't think it was possible, but I guess it actually IS.... I have the Classic in VCS mode attached to the VCS AAANNNDDD Bluetooth conected to my Samsung A12 AT THE SAME TIME working on each one
I hear the clicks on the Samsung as I move about on the VCS.
TOO FUNNY!!
Well then. The VCS is showing itself again. This is a common issue when doing PC Mode on it, but it doesn't boot. Not surprised.
Its also my first time I ever tried, so I will need to look up what others did to get it right.
Seems straight forward, but there was an option that configures UEFI
interesting haha
ps4/5 controllers behave like this too i believe
minor scandals when people buy half the store by accident while playing over wire on PC while the console is on with tv off paired to BT
I could see that
Luckily, the droid doesn't have any way to purchase so I am good there
I wondered what I "did" on it while I was using the VCS
NOTHING!
It does actually move focus about the screen though. Pretty neat
I was more concerned with pressing A button LOL
yea gamepads have basically full control of OS behaviour on both android and ios these days (assuming you can pair)
Good thing for VCS is that if it fails, its not hard to redo. I have two USB sticks - one for the installer and the install destination.
I will wipe it clean
Yeah I figured as much
The OS builds don't generally bother me. I've built sooooo many PCs of all OSes over the years, it just becomes a matter of trial and error
I gotta try the VCS controller setup on Linux for Input
Can't wait for you to get THEGampad
Will be fun
Plus I need to test THEC64 Joystick mapper
The AtariVCS OS is not well built. I wanna smack the team
hgIt has GREAT potential, but they did some strange things with it and it doesn't make sense why
I guess really the biggest part is they need to optimize it under the hood to make it more efficient, and then fix their wireless connectivity issues
I think they finally sorted the majority of their store issues
And MOST importantly, BRING IN NEW GAMES
kind of get the google type vibe off them which is nobody makes money on atari except atari lol
well, that's good then
They have a model where if you are NON-Exclusive sales on VCS, its 70/30
Exclusive is 80/20
The issue is their team that drives the on-boarding is VERY slow
They have devs lined up wanting to put their games on it, but the team isn't developed enough to handle it
I started building exclusively for it, but time and work haven't panned out
Plus I don't have games to prove my worth yet
Its an opportunity that needs work
Atari bought a dev studio that does retro remakes
This may help them do their own in-house work now
Good news but not what I really wanted to see come about... they NEED indie devs
I could keep ranting, but I will stop at that 😇
Muahahahaha! AtariVCS has Ubuntu 2022.4 LTS working via USB now 😄
Finally
Oh Dave! I love Dave!
His content has been pretty entertaining
dave.
dave
He has skillz
Buuut I feel its something special here for you guys and dave
Just messing here
Eh, brings me joy in a way
Seriously its ok! I am purely only messing!! No need to explain 😇
:p
My PC lost its mind 🤪
My PC lost its mind too.
It froze up last night after I exited a VR game lol
On VR it was trippy. Half of the world was distorted
That sucks bad while playing it
I couldn’t get connected to anything nor connections that didn’t exist anymore weren’t going away. I was baffled how I was still able to chat here. On my phone atm though
oof
And now its that Restarting cicke

And this
I think your GPU is having a rave party
Sorry I have a big screen
That’s you?
😁👍
Though the TV I was using as a monitor finally kicked the can
TVs suck for monitors, but they work
That's the one on the far right
They do
But it was nice while I was streaming stuff
I bet so
My current aim is trying to get an LG 43UN700-B
I don’t have that type of space
I do, but all of these monitors takes up all of my space
I need to reclaim my space
This one is a 34”
ooo
I have two 27” curve monitors at work
As someone who works as a cleaner, jealous
I write software, build databases and maintain the db servers, and maintain the interfaces between systems
Yeah fair. I just maintain gamemaker libraries mostly and sometimes post blog things
Oh definitely! I just wanna do more than that at some point XD
I am NOT special by any means
Bah, I doubt that
I DO enjoy what I do though
nods as long as you enjoy it, that's all it matters
What do you envision yourself moving into?
Making games
I've got a few projects cooking up
One of which is a plant growing interactive wallpaper for kofi's monthly themes
The only main game I'm working on and off is a 2D infinite sandbox. Designed in a way where modding is pretty straight forward
Very cool
All in GameMaker HTML5 too... Surprisingly works very well
It's not the first time either :p
The first one I've made and published to the world, was from a rather odd idea someone gave to me.
And I made it into a reality.
Lowkey someday I wanna make a wallpaper game but til then... I remade 1/3 of an existing game for people to just utilize and experience
Seen a couple cosplayers on tiktok use this
Nice!
Jumpscare free too!
I'm not a fan of a wallpaper jumpscaring me
Really?
LOL
It's died in terms of interest, but people still are jabbing me every now and then
I always respond with
I’m the type that goes to a haunted house and scare the cast
Should've brought a mask while you were at it
Nothing like a good scary mask to go along with it!
Oh yeah. The only other two requests I've gotten are:
-A Mac version (I know zero software for running webpages as wallpapers)
-Android/iOS version (Android has zero support for webpages via their Wallpaper Engine Android App, and iOS flat out can't do right now)
Do you need some tech support? 🤓
Gonna have to wait a few more days since I have to get through surgery on my eye tomorrow
Yes
oop, good luck with the eye surgery!
Tech peeps don’t know all!! And I am NOT proud so…
I’ve ripped it out and threw it back in only for it to work like a mule not wanting to go where you need it
...I can't tell if you're talking about the eye or the droid
(jokes)
I feel that
Both!
Haha
I’m totally wiped from the procedure. That is not fun but necessary evil. My doctors are magical with their skills. Prolly sleep off tomorrow morning and go back for the 1 day post-op to see more about my restrictions. Head is still spinning so gonna go back to sleep.
It went well though 😁
rest up !
Time to relaxxx and rest
@humble fjord Hey I noticed this anomaly in the gamecontrollerdb.txt and was wondering if this was legit or missing the GUID for the xinput controller in Windows?
I upgraded to Input 5.6.0 and was just adding all the mappers that we sorted out for the various controllers in the sdl2.txt with the latest from gamecontrollerdb.txt
Did your THEGamepad arrive yet?
it arrived... but in another city
Damn
i will return.. next week
How horrible. Does it say "Delivered?"
Oh I see
🙃
PHEW!
i considered asking my gf to bring my mail back here but i only have a few pieces of hardware anyway so best to wait till i'm home
You can SMACK me for asking...
In the Input controllertypes.csv can you add the following:
CommunityAtariVCS,50320210,50320110
or
AtariVCS,50320210,50320110
Then you would need to remove
50320210
From
CommunityLikeXBox
If not, I get it
Of course, you don't have to jump on this if you do decide to
Technically, those codes are NOT exactly XBOX Like
As you are aware they are AtariVCS mode GUIDs
At least Windows
The Modern VCS Controller is a strange beast TBO in Windows
VCS mode is special for sure, but ONLY in Windows as it behaves in the others as expected
Just annoying
Luckily, it behaves PERFECTLY in XBOX Mode
Sadly you lose the Wireless capability there with the triggers
yep got you
I am set into seeing if there is ANY way I can learn what can be done to get those triggers back 🙂
I know its a Looooooooooooong shot, but I want to try one more time
ah you know.. there's probably a registry fix
but i don't understand how that stuff works tbh
you can force dinput axis overrides with the registry but it's black magic to me
yeah dinput is another beast for sure
which PID is wireless?
Both have Wireless modes
oh
They use BT to connect
one is xbox mode ?
VCS Mode is Wireless and Wired
XBOX Mode is wired ONLY
On BOTH Modern and Classic
XBOX mode works as is
Zero issues but its wired
Modern in VCS Mode provides the GUID
which productid i mean
ah right
0110 Classic
I am tweeking the code to see if there are any input ranges not seen for some reason
will cook new datafiles in 7 minutes when gh refreshes
yeah you can check axis values out of bounds and get weird behaviour lol
that's how we get xinput triggers
i doubt it will fix your issue though
Nice I see what you did. Good idea 🙂
What you just did ONLYT separates them from looking like XBOX in VCS mode
Its OK but its correct in that manner
THANK YOU for making that change
Exactly... So I was thinking alongside this action that MAYBE its still there in anothe axis just not normally used
I still thinkits an Atari patch that never released, but who knows with Atari
nice
Sooo Steam doesn't even see those triggers
Maybe I need to do a calibration on the VCS with them
See what happens after that
The problem with that is if you have these controllers but you don't have a VCS, you can't fix it that way IF that does fix it in the first place
I can assure you that you will NOT get any updates for these controllers if you do not have a VCS either.
Atari made it soe you need the VCS to update them
Kinda standard practice since Nintendo, MS and Sony do the same with theirs too
calibration won't do anything
Exactly
SDL2 would need a HID driver for Steam to help
ship one to Sam and he'll probably do it 😛
nah MS and Sony let you update their controllers with a PC tool
kind of important they do that
Thats good
Sam Latinga at Valve who's the primary developer of SDL2, yes
I always updated using my XBOX
There are a few other contributors that do HID stuff but that's mostly him
Nice
I could also probably do it if I had one and the motivation but. meh
I think Atari was supposed to push their patch like I said to correct this, but I believe they left it out somewhere LOL
That was TWO years ago
I might be able., but Like you... meh
I rather Atari send the patch out
Seriously.... this isn't a make/break thing since so few actually have these controllers to begin with
indeed
OK here you go https://github.com/JujuAdams/Input/pull/653/files
this will make it into v6.0
you can throw away the old checker and it should be easier to do VCS stuff
if you uncomment the twist mapping it'll do wakeup
and if you set INPUT_GAMEPAD_EXTENDED_TYPES to true you can set up an icon category and use the player/gamepad type checkers for getting VCS classic/modern
using the twist is now basically just a matter of
if (input_player_gamepad_type() == "vcs classic")
{
//check twist binding stuff
}
else
{
//check right-stick stuff
}
Perfect - Thats exactly what I was going for
you bet! it was fun, and if there's another controller I come across... well you know. We can do it all again 🙂
Controller mapping is fun!
This checker you mean input_vcs_twist?
yes
i can write you another copy that conforms to 6.0 stuff
if preferrable
same limitations around hotswap tho
this is probably the way to go
Yes agreed
Did you make an actual "vcs classic" type, or is this read from the controller itself?
Silly me! I didn't read ALL the way down the changes!
I should pull a fresh copy of Input now, correct?
if you want to test this you need the dev branch
it's a project though, not an extension (easy enough to export) https://github.com/offalynne/Input/archive/refs/heads/data_data.zip
this is also not finished yet so feel free to wait till release unless you want to tinker early 🤷♀️
You know, I do enjoy tinkering
corrected the link there
anyway off with me
have a good one
😴
thanks again for the help today elf
Night @tribal schooner !
Going to bed too huh?
Yeah I ghott go here in aminute too. My eye is bothering so it means I need to break away
Night @humble fjord
speaking of tinkering actually
@humble fjord ik you're going to bed... But I just realized what does work with Wallpaper Engine
Time to game on a wallpaper 
Input v5... But should work for Input v6 too
So I have the code for Input 6.0.0 setup as a tester
I did test input as kosher - making sure the VCS controllers worked and were mapped as they should be - and they indeed DO work as expected 🥂
The part I need to learn about is the extended types. I am too new to this library so I will do my homework first by looking at the samples and the documentation for the Library
note about extended types is here
https://www.jujuadams.com/Input/#/6.0/Functions-(Other)?id=input_iconscategoryname
v6 docs are private bc its not released yet
there needs to be a note on the constants page too.. i thought there was already 🥴
Excellent
If I want to use "vcs classic" and I sent the use extended types = true
input_icons(INPUT_GAMEPAD_TYPE_XBOX_ONE)
That will check fort XBOX, but this will work for"vcs classic"
input_icons("vcs classic")
correct
that's specifically for setting up icons in the icon config ofc, if you want to check for it in the general sense player/gamepad_get_type will work the same
It makes sense to add ALL functional icons for EACH input type this same way
feel free to make your own macros for the other types if that's convenient
Soi I add "twist" and thenI can reference that icon, which would be mapped to rightx
pour vous
#macro INPUT_GAMEPAD_TYPE_STEAM_DECK "steam deck"
#macro INPUT_GAMEPAD_TYPE_STEAM_CONTROLLER "steam controller"
#macro INPUT_GAMEPAD_TYPE_8BITDO "8bitdo"
#macro INPUT_GAMEPAD_TYPE_MFI "mfi"
#macro INPUT_GAMEPAD_TYPE_LUNA "luna"
#macro INPUT_GAMEPAD_TYPE_STADIA "stadia"
#macro INPUT_GAMEPAD_TYPE_VCS_MODERN "vcs modern"
#macro INPUT_GAMEPAD_TYPE_VCS_CLASSIC "vcs classic"
#macro INPUT_GAMEPAD_TYPE_OUYA "ouya"
#macro INPUT_GAMEPAD_TYPE_DREAMCAST "dreamcast"
#macro INPUT_GAMEPAD_TYPE_N64 "n64"
#macro INPUT_GAMEPAD_TYPE_SATURN "saturn"
#macro INPUT_GAMEPAD_TYPE_SNES "snes"
#macro INPUT_GAMEPAD_TYPE_SUPER_FAMICOM "super famicom"
yes, keep in mind you need to uncomment the twist bit in __input_gamepad_set_mapping
merci
This was what I am missing... !!!
tbh gonna stick this in a comment block in the code too 🤷♀️
That is VERY useful
It keeps consistency
You COULD name them like this:
#macro INPUT_GAMEPAD_EXTENDED_TYPE_blah "blah"
That would keep them explicitly named and separated
And one would know they are EXTENDED types
i'll just leave a comment, if you flip the switch then all simple types remain on equal ground
no need to differentiate
sure
the macro basically says "treat ouya with the respect of an xbox" lol
neither the library nor the library user should have to distinguish from non/extended when it's on
And thats by design, so that makes perfect sense
Me not knowing the design... that is why I made the suggestion. 🙂
Its all cool
It is a very nicely made and designed library
which apparentlky is about to move up another notch in v6
LOVE IT
now we can both twist and shout!
i do fret a little that if Herb's mapping is wrong we're steering you wrong on the microconsole itself but 🤷♀️
maybe calling the VCS a "micro" console is a bit generous lol
I have TWO of those consoles right in front of me
well. ;-]
i'm not sure of how to build to it from GM but Herb has the ticket obviously
also not sure if the gamepad stack on there would be the same as a Ubuntu install though I see no reason why not
Honestly, Herb did a lot of playing with them early on... changes were made along the way to the controllers and api
makes sense
Its is identical since its a dirivative of that
when i get home i have to write mappings for ANOTHER dkms driver for Switch controllers 🙈
lucky you
"fun"
i did in fact ask my gf to grab my mail so i may have THEGamepad on THEWeekend
lol
Excellent!
I purposely dragged my feet with Linux so you could have the honors
haha
idk setting up a whole os is
nontrivial
whenever i get home it's a matter of minutes tho
Agreed, but not that bad if you did it a time or two
need to set up some kind of remote desktop situation that isn't too power-wasteful
Its LESS trivial on a system that doesn't have an os already
and then i also need to have a controller enclosure with a robotic arm so i can ask whoever's handy to place the device into the chamber, lol
This is why I wanted my C64x since its already what I need and low power but built for Linux OS
really, just a motherboard with an APU and 16 GB mem with a sssd installed with a version of something compatible with GM
It can even be without a monitor... just remote to it
I started using a raspberyypi 400
Its a weee bit painfully slow so... C64x
Ooo pis
This is when I need a pi for on the go too
I have a 15.6" portable monitor to hook up to it (or my laptop)
I only have this one for the 4 series, but I have 3 of pi 3 b
Only one of them is using pi 32bit bc GameMaker’s runner isn’t available for pi 64bit yet
Mmm pi 3 b
I just swap the SD card with the various builds I need
I dunno I’m lazy 😆
I have this case so I can keep up with the cards
I somewhat have the twist woirking... not sure if its what you intended people to do though
- Set #macro INPUT_GAMEPAD_EXTENDED_TYPES true in "input_config_gamepads"
- Added all the macros you provided in "input_config_macros"
- Added this into "input_config_icons"
input_icons_gamepad(INPUT_GAMEPAD_TYPE_VCS_CLASSIC)
.add("gamepad face south", "A")
.add("gamepad face east", "B")
.add("gamepad select", "view")
.add("gamepad start", "menu")
.add("gamepad dpad left", "dpad left")
.add("gamepad dpad right", "dpad right")
.add("gamepad dpad up", "dpad up")
.add("gamepad dpad down", "dpad down")
.add("gamepad thumbstick l left", "twist")
.add("gamepad thumbstick l right", "twist")
.add("gamepad guide", "guide")
- Added this in gamepad: section in "input_config_verbs"
gamepad:
{
up: [input_binding_gamepad_axis(gp_axislv, true), input_binding_gamepad_button(gp_padu)],
down: [input_binding_gamepad_axis(gp_axislv, false), input_binding_gamepad_button(gp_padd)],
left: [input_binding_gamepad_axis(gp_axislh, true), input_binding_gamepad_button(gp_padl)],
right: [input_binding_gamepad_axis(gp_axislh, false), input_binding_gamepad_button(gp_padr)],
accept: input_binding_gamepad_button(gp_face1),
cancel: input_binding_gamepad_button(gp_face2),
action: input_binding_gamepad_button(gp_face3),
special: input_binding_gamepad_button(gp_face4),
aim_up: input_binding_gamepad_axis(gp_axisrv, true),
aim_down: input_binding_gamepad_axis(gp_axisrv, false),
aim_left: input_binding_gamepad_axis(gp_axisrh, true),
aim_right: input_binding_gamepad_axis(gp_axisrh, false),
shoot: [input_binding_gamepad_button(gp_shoulderlb), input_binding_gamepad_button(gp_shoulderrb)],
pause: input_binding_gamepad_button(gp_start),
twist: [input_binding_gamepad_axis(gp_axislh, true),input_binding_gamepad_axis(gp_axislh, false)],
},
- Made this section with the EXTENDED TYPES portion for the VCS in "input_gamepad_set_mapping"
(I didn't see anything for twist commented out in there so I ad-lib'd)
case "HIDAtariVCSClassic":
__input_trace("Overriding mapping to Atari VCS Classic");
set_mapping(gp_face1, 0, __INPUT_MAPPING.BUTTON, "a");
set_mapping(gp_face2, 1, __INPUT_MAPPING.BUTTON, "b");
set_mapping(gp_select, 2, __INPUT_MAPPING.BUTTON, "back");
set_mapping(gp_start, 3, __INPUT_MAPPING.BUTTON, "start");
set_mapping(gp_padu, 0, __INPUT_MAPPING.HAT, "dpup" ).hat_mask = 1;
set_mapping(gp_padr, 0, __INPUT_MAPPING.HAT, "dpright").hat_mask = 2;
set_mapping(gp_padd, 0, __INPUT_MAPPING.HAT, "dpdown" ).hat_mask = 4;
set_mapping(gp_padl, 0, __INPUT_MAPPING.HAT, "dpleft" ).hat_mask = 8;
if (INPUT_SDL2_ALLOW_EXTENDED)
{
set_mapping(gp_guide, 4, __INPUT_MAPPING.BUTTON, "guide");
set_mapping(gp_axislh, 0, __INPUT_MAPPING.AXIS, "twist");
}
return;
break;
Unless I am missing it somewhere, I ended up still needing to change the sdl2.txt to add ,leftx=a0 to the mapper...
PLEASE let me know where I should have made changes if I missed something also, where I should NOT have changed!
🙂
I realize that it is supposed to be the right stick, but it doesn't really matter which it goes to, and I can correct it to that if indeed that is why I didn't get the mapper right before adding ,leftx = a0
I can easily change everything to the rightx = a0
I will continue playing with it 🙂
so.. if you add a gp_axisrh mapping does it work ?
did you do this ?
there wasn't one in there to uncomment
I'll post what I have here for that one
Uggghhh.... I see the Commented out Twist code... lemme try it
Sorry - I am bouncing between here and cooking dinner
haha take your time
So I reset the mapper in sdl2.txt; removing , leftx=a0
I removed the code I added in the "input_gamepad_set_mappig" and uncommented out the code you left in there for the VCS Twist
I left the rest as-is and it executed
Twist does get value, BUT NOT using gp_rightlh - It needs gp_leftlh
Also, that mapper has a dead zone that needs to be removed
what are you using to check
ohh right uh. gotta set the threshold
set it to 0 and you should be good
is that in the config?
Its working on the left and showing left/right as I twist the right side
I switched something and saw what happened
don't understand what you mean, sorry
Input gamepad tester
left shows all
right shows a subset of just that controller
screenshot(s) pls
ok yeah that's working as intended
try input_gamepad_value(input_player_get_gamepad(), gp_axisrh)
Yeah AFTER I un computercoder'd it LOL
all good
It is back to where you gave it to me... I setup verbs and the other stuff for the gamepad in he config
I believe its all goiod AS YOU WROTE it 🙂
🤪
Now, I just need to attach the verb to the RIGHT vs LEFT 😛
and then I have my "twist" verb working
my verb is working now
twist checker is now as simple as
var _twist = someDefaultValue;
if (input_player_get_gamepad_type() == INPUT_GAMEPAD_TYPE_VCS_CLASSIC)
{
_twist = input_gamepad_value(input_player_get_gamepad(), gp_axisrh);
}
probably preferable to get the raw value like that
indeed
you could conditionally set the axis to threshold 0 for that specific device depending on gamepad type but
none of the existing checkers are really wise to the idea of the twist's values so
only the raw value is really of meaning to you
So... no verb then?
correct, i wouldn't bother
Well thats good info... the BEST thing I at least know how that works in the Library 😄
generally you want to stick to the profile-binding-verb system
but the twist is special
so easier to check it raw then bother with overhead you don't need anyway
Yes it is
I just added it here:
gamepad:
{
up: [input_binding_gamepad_axis(gp_axislv, true), input_binding_gamepad_button(gp_padu)],
down: [input_binding_gamepad_axis(gp_axislv, false), input_binding_gamepad_button(gp_padd)],
left: [input_binding_gamepad_axis(gp_axislh, true), input_binding_gamepad_button(gp_padl)],
right: [input_binding_gamepad_axis(gp_axislh, false), input_binding_gamepad_button(gp_padr)],
accept: input_binding_gamepad_button(gp_face1),
cancel: input_binding_gamepad_button(gp_face2),
action: input_binding_gamepad_button(gp_face3),
special: input_binding_gamepad_button(gp_face4),
aim_up: input_binding_gamepad_axis(gp_axisrv, true),
aim_down: input_binding_gamepad_axis(gp_axisrv, false),
aim_left: input_binding_gamepad_axis(gp_axisrh, true),
aim_right: input_binding_gamepad_axis(gp_axisrh, false),
shoot: [input_binding_gamepad_button(gp_shoulderlb), input_binding_gamepad_button(gp_shoulderrb)],
pause: input_binding_gamepad_button(gp_start),
twist: [input_binding_gamepad_axis(gp_axisrh, true),input_binding_gamepad_axis(gp_axisrh, false)],
},
that's not quite right
Ok... what should it look like?
you'd need twist left and twist right
a verb should only have one axis component, not both
It works as is
perfectly so
well, ok !
if it works it works 🤷♀️
I just need it to have the deadzone removed for the twist
I was busy eating so no
i think you'll find the values are in fact wrong that way.. but
by all means 🤷♀️
if you twist in negative direction past 0 you'll be getting positive values again
where you want negative
Left goes -1 to 0 and right goes 0 to +1
hunh. ok
on windows... it MAY break on other OSes
other OSes are normalized to what you see on Windows so it should be fine I think
will have to double check that
I just haven't tried outside of Windows so I can't speak to it
yeah it should be set_mapping(gp_axisrh, 0, __INPUT_MAPPING.AXIS, "rightx").limited_range = (os_type == os_linux);
i'll fix that
anyway personally i would say don't use the profile-binding-verb stuff and if you do i can't confirm it will work right and i can't help to that end
but don't fix what aint broken etc
All of the OSes should default set that twist to 0 deadzone
get the raw value like this
its raw
After playing more , again you are correct.
I am still learning here with Input! LOL
How I didn't pay attention to the - not present is beyond me...
Don't get me wrong, I don't doubt you, but apparently I didn't pay attention well enough 😐
as outcomes are i'd say this one is pretty good
Definitely good
Just thought... I doin't need the icons either
you need the verb to get the icon
yep
No worries about that as I was already before Input came about 😉
Input provides all sorts of super input support so... big win either way
It would be a gigantic mess if you tried to support each special case entirely in the library
the fact you allow some type of access is great
I am starting to catch on to Input's design
yeah i suspect juju already finds a lot of my boondoggles to be straying from god's light lol
I know its not complete/released, but I am going to use v6 as my game's input control and update with the full release when its ready
input perfection, only ever one more PR away...
please feel free to
tho keep in mind it's already out of date lol
lots of testing etc. to do
I will help you find issues as well. No worries.
once we release you can be satisfied to use it until prospective release though 😤
can always update the data using the python script, or manually as you've been doing
Basically this is the version I have until release/ Gotcha
I just don't see the point in going back to 5
Especially when this will release soon, and my stuff will def come out far after its release
you can just back up config folder, delete everything else, reimport on release if you need an update
nbd
this dev build is amp[e enough
a looot changed in 6.0 so we still gotta test a bit
but github is friendly so
no need to fear
If there is anything you'd like me to test/write... just ask
will do =]
Is the dev environment closed?
on github
nm I see where you change from master to dev 6.0
I gotta learn github better - esp since we just transitioned to it at work also
Worked perfectly
tremendous !
love this library 🙂
now... if you need multiplayer...
yes I will 🙂
Yeah. def depends on the design of the game
var _playerTwist = someDefaultValue;
if (input_player_get_gamepad_type(playerIndex) == INPUT_GAMEPAD_TYPE_VCS_CLASSIC)
{
_playerTwist = input_gamepad_value(
input_player_get_gamepad(playerIndex),
gp_axisrh);
}
tweak incessantly ? 🫠
I can't help it
I am a perfectionist
Example from one of my older projects in C#
public static VOEmployee GetVOEmployeeByEmployeeNumber(int employeeNumber, Connection sqlConnection, out Exception exception)
{
// This returns a single VOEmployee based upon the employeeNumber
exception = null;
SqlDataReader sqlDataReader = null;
VOEmployee voEmployee = null;
try
{
String strSQL = String.Format(@"
select
[EmployeeId]
,[EmployeeNumber]
,[BadgeNumber]
,[NetworkId]
,[SSN]
,[FirstName]
,[MiddleName]
,[LastName]
,[DOB]
,[EmploymentCategoryId]
,[StatusId]
,[DateHired]
,[DateTerminated]
,[DepartmentId]
,[LocationId]
,[DateChanged]
,[ChangeByEmployeeId]
,[AlternateLastName]
,[Email]
,[HomePhone]
,[MobilePhone]
,[Address]
,[City]
,[State]
,[ZipCode]
,[ExpectedEndDate]
,[ContractAgencyId]
from
[dbo].[EmployeeVw]
where
[EmployeeNumber] = {0}"
, employeeNumber);
sqlDataReader = BOTools.GetSqlDataReader(strSQL, sqlConnection, out exception);
if (exception != null)
{
if (sqlDataReader != null)
if (!sqlDataReader.IsClosed)
sqlDataReader.Close();
}
else
{
// There should be ONLY one record, so just grab the first one in the event there is more than one
if (sqlDataReader.Read())
voEmployee = new VOEmployee(sqlDataReader);
sqlDataReader.Close();
voEmployee.ClearDirty();
}
}
catch (Exception ex)
{
exception = ex;
}
finally
{
if (sqlDataReader != null)
if (!sqlDataReader.IsClosed)
sqlDataReader.Close();
}
return voEmployee;
}
If it doesn't look good, I fix it
Also... I know its not a normal way to make the variables as I have them labeled here.. I was in my mode that it was written how I wanted it 😛
Now I look at it and ask "WHY?"
But it is very clean nonetheless
Speaking of clean
I went to an interview once that was in four 1-2 hour sessions
I had an assignment to write code for them to play the game Mastermind
I wrote it in under 4 hours
It was clean and extremely accurate
They looked at the code and told me it was "too clean" and that "No one writes code that clean"
WTF? I decided not to work there
_twist should be _playerTwist 😉
wellll royal mail or USPS or one of my neighbors have kept me from THEGamepad
gf couldn't find my packages
o well.. for now
posts i make and posts i delete are near equal tbh
👻
consider any u see for longer than a few moments an anomaly
I’m usually catching alynne in the act whenever I’m awake, cause I usually see everything before I respond
But yes
Alynne is an anomaly and must be contained by the SCP Foundation
well......... THEGampad officially AWOL...
hope you're recovering well @arctic pasture
I’m slowly progressing, but nonetheless getting there. I still have a long road apparently to go. These first couple of weeks are the hardest to deal with. Doctor is happy so far with what he is seeing though! So we will see 🙂
best of luck!
I definitely appreciate you guys and your well wishes! Thank you so much ☺️
Wishing you the best mate ❤️ 🙏
I've had this type of activity happen soo many times grrrrr
I used to have my pet supplies shipped to me so I didn't have to lug those 30-40 pounds of litter boxes around with me. Twice in a row - I ordered 4 of those 30 lbs boxes of litter and I watched them get close only to never make it to my house. I have yet to have a porch pirate. Luckily I live in the country side instead of the city where that activity hasn't yet taken off. Although I did see someone a few weeks ago attempting to break into my shed late at night. I informed them that I have full-color night vision cameras and they fled. I really do have these. Those were installed after some kids stopped by and took the gas I had in a container, then pealed out in MY YARD leaving the yard messed up. Needless to say I was furious, so in came the cameras and I refilled the container with 5 gallons plus salt and sugar. They stopped by again and took the gasoline. Those quads and dirt bikes for some reason stopped flying down the roads. They live about 1/2 mile away from me. 👿


