#🤖│community_dev
1 messages · Page 11 of 1
wdym?
dont need to capture anything really
take apart local wootility or search through the webcode for sending the profile and itll show you exactly how its done
if you want to map in a whole profile that includes things like key mappings, rgb, settings, etc
yes the sdk can do that
Is the specification for the local browser data available?
how 'can' it do that beyond the hid_send?
well with the hid send but you dont need to capture anything
don't need to, but it's a lot easier to get a grasp of it...
its quite plain in the wootility javascript on how its done
you do realise the shipped JS is minified/obfuscated? 
What strikes me more is the usleep between the commands
You know Wooting firmware, it's always so slow and high-latency
That's their selling point
Normally I would expect it to just be slow not to miss(?) the commands (I guess that would happen without the sleeps)
are there any news on when wooting might implement their background service and what functionality it will include? (the led bar quirks that have been teased dont interest me)
I've been very happy with my new 80HE, but is just absolutely baffles how wooting is missing such a basic feature as switching profiles based on active window
You could try this: https://github.com/ShayBox/Wooting-Profile-Switcher
yes I know about it. but I'd rather have an actual thing as opposed to a janky hack
the developer has pretty much abandoned that project as well
I wouldn’t call it a janky hack, the background service wouldn’t do it much different I guess.
The janky hack is that every company got it's own software to do the same stuff just for their own devices
the idea is the background service can link any profile to a game not just onboard slots. we also toyed with integrating this assignment into wootility itself given the background service was opted into
I think this will be a great addition to Wootility
there will also be a detection based on installed titles and such if all goes to plan
Will there be a early beta at some point?
that i dont know
In case there will be one, i would be happy to test it out :p
there's a weird key roll over effect with the 80he sometimes I the press doesnt get registered
has anyone noticed it
it might be the rapp snappy
I find rappy snappy and rapid trigger are quite detrimental in use-cases other than the niches they are advertised for
I just got my wooting 2 days ago its a 60he+ but one doesnt work very well and im not sure if its the keyboard or what
you want #1019755933959733258
has anyone made a 3rd party wootility-like software? Im planning to make my own
where you can change settings and stuff on the keyboard
I'm not sure why you'd want to make such a thing, but there are VIA and Vial which typically work by extending the firmware with their own report formats, so typically you'd only use it for Keyboards running QMK firmware.
And even the keyboard vendors using QMK have their own keyboard config solutions...
fun project
is the inability to add multiple advanced key functions per key (e.g. say I'd want SOCD with both W-S and W-C) a software limitation with Wootility or a firmware limitation?
I understand that the UI to make it would be annoying and end users could easily make broken setups with conflicting advanced functions
Likely a firmware limitation
A feature people might want Other keyboards such as a apex pro or a gk61 a razer huntsman etc that has a thing I don’t know what it’s called but if you hold down h it types hhhhhhhhhh but not just h maybe have it as a of on feature since some people might not like it maybe call it repeated text or smh
That's... a feature of your operating system?
The board is green
https://youtu.be/ia8Q51ouA_s?si=xTdsU7uctPLQyS9w
Slightly off topic
there will never be another outage again
// featuring Alexis Gay: https://www.instagram.com/yayalexisgay
// unlock exclusive deleted scenes: https://www.patreon.com/KRAZAM
ik what u mean
that?
I don't know the software of those keyboards but sometimes people "repackage" os settings with their software
my keyboard got corupted after tryin to download update
i got a problem, when i press a key to build playing fortnite i cant build, but if i put build mode i can use this key to build, anyone know what happens?
Yo am i stupid or can i not actually bind "~" to a fn layer on my wooting 60 he (it's annoying for lua devs) it would be cool to add it into wootility if it's not alr
There is no ~ key, you press e.g. Shift+` with a QWERTY layout (configured in your OS)
Alternatively just type not (a == b) 
goated thx
i'm french i didn't know the shortcut
yh but that was stressing me out 😰
create a custom keyboard layout. I've put my ~ into a single keypress by doing that.
on Windows use MSKLC to create a custom keyboard layout.
I forgot if we are allowed to share stuff here but I (albeit very late) added an OSU overlay!
i like the wootverlay, but setting it up in obs as a browser source was nearly impossible to do due to the scaling; is it possible to pass the settings directly with a GET param?
I'm working on writing the backend in Rust where you can then use for example the url "127.0.0.1:80/profile/CounterStrike", this will then load the profile "CounterStrike" if it has been found on your pc, otherwise it will show a default layout.
There is a copy to clipboard button in the presets menu that you then press load form clipboard in OBS!
Unfortunately GET won't work as all the data is stored in the frontend (the webpage) and do not communicate.
To make it easier to customise you can change the size properly from default 800x400 to regular 1920x1080, it only will affect the preview as there will be a massive box to drag around on OBS but that's okay since it's transparent
If I'm not mistaken on what you're trying to do, on Wootverlay web you can save the 3 presents and add the '?profile=PROFILENAME' param in the browser source URL and it will auto switch to that one
I'm going to make a big tutorial video soon since my documentation isn't too great haha
Yes but you save the profiles on the web local storage, i save the profile on my disk (or at least i'm developing it in that way)
Yeah that could be cool, maybe worth looking into for me too :)
i mean web local storage is also on the disk
Pre configuring in the browser does work but you need to weirdly copy paste it in the obs web interaction thing.
Okayy well the src code is all there but lmk if you need help with anything!
True, but i think a json file in the woot-verlay directory is easier to find if you want to share it ^^
id personally use get params instead of path variables tbh
Yeah, it was just a concept and this was the first thing i could get working with actix-web
I might look into the local disk saving too haha it's a good idea
Otherwise its really great 🙂
Sweett, I have an idea that it will still save to the web but syncs all profiles to the desktop as a backup so that the OBS one has the same saved presets on load, so a mix of the two maybe
Leaving on a trip for the next week sadly
I went deep down with Rust, i started with directly using the RawInput API from Windows instead of using any already existing library (I do use that for other stuff too).
Then recreating a proc_macro to generate source code based of the chromium "dom_code_data.inc" file (which gets automatically downloaded when i build my code) for conversion between different keycodes (usb hid, evdev, xkb, win, mac) and now i only need to clean it up and put everything together.
Wait are you not going to be able to receive the order I pushed through for you today?
How dare you Crqss ^^
Ooh yeah I checked that and I return on the 2nd and the date says 30th to the 11th so it should be okay + my neighbours are feeding our cat and would be able to move it inside I think :) thank you for updating the order
Okay, sounds good 😄
guys please review my code, i have a bug http://127.0.0.1/home/cats/more-cats/dogs
i think its because im not using the s in http
ah i see, i think i just deployed it try this new one i found https://192.168.0.28/home/cats/more-cats/dogs
it has the s but still no work
I'm on mobile sorry haha there is no console so someone else will have to try it
That's a local address, we can't access that
technically you can access all the ip addresses
you can even access ones that aren't industrial standards
Yep but 127.0.0.1 or 0.0.0.0 is your pc while 192.168.xxx.xxx are addresses in your local network, so we would need to be within your wifi to access these ones
falling for trolls again are we
Maybe ^^
you can't access the same CONTENT but you can access that IP
192.168.x.x is my local network, but its also yours too
And i just wanted to help someone who might just be "new" into that 🥲
I don't have anything in my local network using that range though
... at least to my knowledge..
: ( how about you tell me what you do and ill ask your expertise on that field
I didn't expect to see these kind of jokes these days
There's no place like 127.0.0.1 (you're welcome)
::1 sweet ::1
We have a new developer position open: https://wooting.io/careers/junior-frontend-developer---wootility-full-time-netherlands-denmark-germany
pls no ai slop
very epic, unfortunately of all the technologies I only know GitHub 
I know al of them. But I'm not a junior 😉
I'd hope I'm not a junior with 10+ years of experience 
I know the real HTML, CSS, and JS :^)
My bachelor is still in the works, our course director for computer science is a mathematician who makes the whole course a little harder, especially theoretical computer science. 
im glad we dont acknowledge denmark existing
i am as well brother
I have been wanting to learn React, but when I try to enumerate the advantages of it I just think "that's just PHP"
idk, I guess it's not like there's nothing you can't do with HTML/CSS/JS/PHP, so I'm unwilling to learn new tools if they don't solve a problem
How many websites are using PHP
"PHP is used by 74.9% of all the websites whose server-side programming language we know."
aka all the wordpress blogs
Ah, I was thinking more in terms of components
Wasn't reactivity basically just a __index metamethod or something
Yeah, absolutely mindblowing concept
Not something that even remotely solves a problem for me. I mean, it fits on a single screen. This could only be an issue in the NPM ecosystem.
Not to mention I never needed this kind of pattern 
we've been able to improve Wootility running at the same time as 3rd party apps
You finally fixed the fact that the Wootility didn't ignore responses to commands it didn't issue?
There's more to it than that but yeah that too

I was worried for a second you needed the user to install a native app for that fix
Guess this can be closed now? https://github.com/WootingKb/wootility-issues/issues/251
Isn't it a bit troublesome to determine which response is supposed for who, if both applications send requests concurrently?
Well, I'm pretty sure the Wootility doesn't send Wootdev commands
been a hot minute since I looked at it but I think the response does say what command type it's in response to
a transaction id would be clever but I don't think they have such a thing
Did they change this?
I guess not since the fix was not firmware related I think?
the fix was mostly firmware related.
how so?
As far as I remember responses didn't have a unique report id. At least it looked like that on Windows.
Or any equivalent to that
But maybe for the RGB API this might be different
I use that interface to read analog too
Response times aren't exactly great, but I can get all keys reliably
Am I stack overflowing wrong...
Swear half the users are there to stroke their superior intellect ego
You might wanna look at ViGEmBus and HidHide
Thanks :) I looked at those but looked like it would require the end user to install and set up those applications (and toggling then so their controller works afterwards) before running mine and was hoping to have it all work seamlessly in a self contained app similar to how macro apps intercept keyboards but if not possible will do that
I don't think you can do it without such drivers for the interception afaik
for keyboard shortcuts, windows has APIs, so the kernel-level part is already pre-installed
but controllers...
Aw man cheers, driver filtering looked too advanced for me for sure and yeah couldn't find anything on controllers haha
any c coder here whos interested in cleaning up a c file to be humanly readable (its generated by an llvm backend from the llvm intermediate)

need to reimplement smth from inside there but its really messy
this kind of stuff you know
Looks like IDA decompilation
Yeah, fair
I assume you chucked it in an llm Already?
Modern-day slavery 
First off, if you want to post a meme, post it in #🐸│memes
Secondly, don't post jokes with racist undertones in this server. The point being made could easily have been communicated in a way that doesn't have that kind of baggage.
Damn, what'd I miss
yes but.... i found the sony AOSP stuff... found the commit they build from and the commit is also in the Android git so.... at the end i found the right thing in plain renderscript and java
also the LLMs always replaced float values and such with random other stuff they called "exemplary values"
hah, thats quite awesome actually 🙂
I am trying to write a python script to color keys based on obs statuses but not getting anywhere. Has anyone got anything working in this regard that I could use as a starting point?
you could build this in a couple of different ways, one being a plugin for obs which would be the most "professional" but another and the most simple way would be by leveraging the websocket server that obs provides
if i had to guess it sends an event over the websocket (https://github.com/obsproject/obs-websocket/blob/master/docs/generated/protocol.md#event-opcode-5) whenever you start/stop streaming/recording which your python program can read and set your rgb accordingly
I wrote a plug-in for Artemis rgb that does basically that, connects to the websocket for events. It's probably broken now but it might be a good reference?
https://github.com/diogotr7/Artemis.Plugins/blob/master/src/Artemis.Plugins.Modules.OBS/ObsModule.cs
The events it has by default should be these: https://github.com/obsproject/obs-websocket/blob/master/docs/generated/protocol.md#events-table-of-contents
For custom events it woudl be either: https://github.com/obsproject/obs-websocket/blob/master/docs/generated/protocol.md#vendorevent or https://github.com/obsproject/obs-websocket/blob/master/docs/generated/protocol.md#customevent, vendor sounds
more like "Streamdeck" type of events. (requires plugin)
For syncing with streaming and recording state I would look into these: https://github.com/obsproject/obs-websocket/blob/master/docs/generated/protocol.md#recordstatechanged and https://github.com/obsproject/obs-websocket/blob/master/docs/generated/protocol.md#recordstatechanged
And I woudlr argue that the websocket is not any less "proffesional" in this usage scenario. In fact, this sounds like a specific usecase why websockets was added to OBS
yeah it is good i just think it's better to package it as an obs plugin than have a separate program running
Fair point, tbh it all depends on the complexity of the progam and how far the scope goes for feautres 😂
indeed
Background service obs integration 👀
I'm having a complete mare trying to use websockets... can't get it to work at all
yeah, I'm not a programmer though 😦
@strong siren can artemis do obs?
prob easier for them to learn artemis or project aurora instead of programming
i linked it here
but i havent touched it in like 3 yrs
it's probably broken
I have got as far as getting the script to detect when OBS is recording or not, just can't get it to do anything with the keyboard (other than turn off all the lights)
I fixed my artemis plugin, I'll publish it in a second
Based, and with competent language I assume you mean C11 😎 ?
lol no
:(
https://websockets.readthedocs.io/en/stable/intro/examples.html#connect-a-client
Looks straight forward enough
Start a server: This WebSocket server receives a name from the client, sends a greeting, and closes the connection. server.py, serve() executes the connection handler coroutine hello() once for eac...
well its even more straight forward now that diogo fixed the artemis plugin
install software, do some clicks and done
i'm mid updating things atm since the artemis app itself just got updated today. things might have broken
https://github.com/Artemis-RGB/Artemis This one right?
yes
Technically web sockets are rather complicated for what they are. So for a native app developer this really feels unprofessional.
Bonus: For Discord you can use a named pipe. You still need an OAuth-Token
I use websockets on localhost
Downside: Communication is so fast that Firefox breaks a lot
i think both websockets and IPC/RPC are fine for local stuff
the main issue with IPC is its 1 to one afaik
IPC is also not insanely portable
so websockets are nice if you want a streamer to be able to have multiple third party apps using the data from obs
Well... native app development 😄
Websockets are portable in the sense that you only need TCP sockets
which virtually every platform does support
IPC is more niche and requires more specific platform APIs
Does the Websocket anything good to me in a non-browser context?
Well, you can also use plain TCP
but then it's not possible to talk from/with a browser context
also I guess you lose control over data frames unless you use another higher-level protocol like TLS to reintroduce them
since it's totally possible for TCP to get your data like one byte at a time
which may not be insanely desirable
Well yeah, TCP IP is streamed by design ^^
yeah, but if, e.g. your protocol is just text messages then maybe you want a reliable packing/delimiting of them
which you could totally have with plain TCP but it'd just be extra work for you
IPC is a generic term so what exactly are you referring to here?
IPC mechanisms of your OS
The clipboard, as recommended by Microsoft 
Or even just websockets listening to only localhost. tbh I think using all that TCP / UDP stuff for local IPC to be pretty stupid but I guess that's what some devs love to do
It depends on the use-case. I think for OBS it makes total sense to have a websocket server running so any app can subscribe to it.
And the web is just a very nice place to have your apps.
I guess so since it's very cross platform, can transparently work over the network if you so desire... and works well on Windows
not to mention obs already has other browser based implementations
like literally rendering a website in the camera
I guess, but for simplicity in terms of integration. I’m gonna say websockets are easier than digging into the whole OBSlib plus platform based logic. Also there is a lot of examples for websockets out there. So in terms of “getting it to work” I would say it’s not that big of a stretch
Is there a list of key codes somewhere? Trying to target the INS key but can't find the code.
https://raw.githubusercontent.com/chromium/chromium/main/ui/events/keycodes/dom/dom_code_data.inc
It has the HID Code and how every platform translates it into there own key code.
It is from the chromium source code.
ok, for reference I didn't get anywhere using the codes, I ended up using the column/row method.
hi
hi
wait, hold on, what happened to my role
did switchy break up with me

I should've known it was too good to be true when I saw a role I actually wanted to have
Shoulda kept the role and changed the name to Stoodup by Switchy
that would've been good 
now it's like we never even had anything
switchy is so cold 

do you guys think its possible to link the status of a planted bomb in fps games to the led bar using the game api for example
also for download status too
It's definitely possible to programatically change the RGB lights on the keyboard
I mean, maybe you have a SIM card in your planted bomb— oh FPS game nvm
for mod tap I'm hoping for some DKS implementation; so if I tap or hold a single button the result will be multiple bindings.
also I've been living under a rock, I recall that whenever I assign an analog value to mod tap, particularly the hold section, I can only move my character only to one analog value no matter how light or how deep I push that button.
would be nice if it's fixed in mod tap.
Hey anyone know how to build the new optimum set?
does anyone here know about ec2 instances
That's a way to broad question. It's also more a #🔌│tech topic.
someone posted a vid of a guy licking a gpu, i thought id take my chances in this one
Still a way to broad question 🙂
Just ask
valid take, spun up my first ec2 instance (free tier bc por) and am STRUGGLING to find the documentation on how to create an automatic way to shut down the server if it reaches a certain limit
I made an alarm for when cpucredits remaining <= 5 ~ sns is sent to my email and the system is shut down. Interval is set to every 5 minutes(is this enough? my thought process is if 100% of 1 cpu === 1 credit then checks every 5 minutes will equate to max 5 credits used worst case)
I am also failing to connect to it either ssh or the web client, I have inbound set to all ips for http, all ips for outbound for http as well as my own ip for inbound ssh
Im vaguely familiar with aws console from previous exp but it was mainly object storage in S3, trying to spin up this vm for mitm AD pentests
the ssh and rate limiting are two different problems, ssh is ipv4 compatible as the docs provide exact commands I need to run, this leads me to believe that there has to be something wrong with how my vpc is set up
yes im aware its 2 things hence the 2 separate messages
Just use Hetzner Cloud
I don't get the appeal of AWS or GCS, they're such blatent scams and cashgrabs

maybe they need high and fast availability with scalability and configuration options that hetzner just doesnt offer. especially when its about deployments close to the target region hetzner sucks butt
Hetzner is a more budget option. But for playing around it's great. And simple small hosting as well
And quite cheap
Hetzner Cloud has pretty much everything you'd expect in terms of availability and scaling for a VPS
and if you need a close edge server, use a global CDN like Cloudflare
which is also free
and it's not a matter of being cheap, it's a matter of not getting scammed
because there's legit nothing you get that justifies the insane pricing of alternatives
so with hetzner i can just have 1 cloud vps in multiple regions?
cause last i checked its EU only
I don't think you get what I'm saying
and afaik there's no such thing as having 1 server in multiple regions simultaneously
literally just put cloudflare in front of your website, configure the caching, and boom
you're 'on the edge'
I mean, if you wanna do more than serve static content globally, then the way you do that is by getting an anycast IP address and having multiple servers in multiple regions that correspond to it
I do this for a DNS service of mine, but it's a PITA because I need to keep the servers in sync
have you tried it on ec2
afaict, this is also not something that AWS or GCS really help you with
No, I have not tried them. I just know they're stupidly expensive.
and I know how the technology works so I know there's nothing that could make it worth it
Like, EC2 is just a VPS except fancy name and pay extra for the privilege
not really but sure
the biggest difference (that wouldnt apply to what the user in here asked for probably) is autoscaling
Ah, interesting
that probably doesn't work without extra work required tho
e.g. needing to use a dockerfile so they can actually do the scaling for you
it does if you didnt design your application with just 1 server in mind
the biggest hurdle would actually be things like db interactions and what not
I design all my applications with just 1 server in mind
because I have a VPS
not a docker container
it being a docker or not doesnt even impact this decision but ok
Well, the scale I'm operating at is like 6 figure users and 4 figures active at any given time
but wooting.io is 99% static content, would absolutely work with my stack
but again idk what the user who asked about ec2 is planning to do i can just answer their question in a general sense
this wasnt about wooting.io
thanks for reading the convo
I know
im aware but its just not that much static content
Well, I am not counting hub.wooting.io
same
Are you counting a blog as dynamic content?
nope pretty sure those are static
???
what about the website is dynamic then
it's all static content
easily cached
easily cached and not valid once smth in the backend changes. theres tons of ISR going on
and lots of SSR content
especially on product pages
the support page and changelog also heavily rely on it
Well, you could just use HTML, CSS, and JS for the product pages
and then they could be cached on the edge 🙂
thats what ISR and SSR make out of them
otherwise the browser wouldnt display them
but fundamentally they just arent traditionally static
You can't just tell your react or whatever to just 'build' the page?
both SSR and ISR build pages
SSR does it each request and ISR does it every X minutes if a request comes in after X minutes passed
Why would you overcomplicate it like that
If you can't host it via nginx or apache, it's not 'built'
but you can
also its not really overcomplicated
i guess you just dont have any use case for realtime data on a webpage without makign tons of requests to some other api server
You are literally operating like 3 abstraction layers above where I am for no obvious benefit 
What kind of real time data?
anything... userdata, orders, product data whatever
if you cant expose it publicly it is hugely beneficially do just render it in on the frontend server side.
but, yeah, hit the backend for dynamic data
that way your front-end remains cachable
no one said its not cachable
but technically I guess you can use PHP to adjust your frontend based on data, but then you need to manage the cache closely, not just for the CDN but also the browser
exactly
all i can tell you is i prefer nextjs/react over painfully doing it like i did for the order management system at my old workplace which was pure html/js/css
unreadable mess just to make something dynamic
<span id="whatever"></span>
fetch("/api/whatever").then(x => x.text()).then(x => { $("#whatever").text(x); });
ok and now insert X elements of a certain html shape
and only do so if the user is logged in
and only do it in that way on browser
if its a mobile view insert different elements
also make sure its internationalized properly ofc
I get that web dev sucks 😄
Maintaining it has never been an issue
what bothers me more is that there's certain expectations you have on websites
like navbars and logins
and the boilerplate is kinda annoying when you do it enough
i.e., you just write the same thing over and over
but as you can tell based on my ignorance about react, I stopped doing web dev around the time it became popular and now I am happily doing C++
id imagine most devs would say maintainability is the worst on pure html/js/css without generating it serverside or building it statically via react or such
Well, e.g. for navbars I have PHP to manage the active state and avoid code duplication
otherwise, no biggy
heck there's probably websites I made where the navbar is baked into the HTML and you need to find and replace over 20 different files if you wanna change it 
still not something that has personally bothered me tho
but maybe my web projects just never reached that kinda complexity
This is the kinda quality code I produce nowadays
i kinda feel you speak too fast in reality
I try to communicate as clearly as possible
Could the § key be added to Wootility?
There is no such key, it's Shift+3, depending on the layout you configured in your operating system.
I mean like alt codes, every character can be sent using alt codes directly from the keyboard
Or a way to send key sequences directly from the keyboard to program my own alt codes
Well, alt codes are platform dependent, but yeah, programmable sequences might be cool. I guess for now your best bet is using like F24 with a macro program
dks can already do 4 and 5 key sequences for alt codes. it can only do 5 if you repeat digits.
guys im trynna vibe code or whatever but when I like told the ai to NOT hallucinate, it like totally hallucinated and its not even doing what I asked!! I like said bro listen, I want an app that gives me money and it gave me a todo react app. wtf even is this ?!? OS: MacOS Sequoia 15.3.1 ram: 573gb, rtx 6090, cpu: intel super max digital deluxe pro ultra AIx2, monitor: 500hz 400in wide screen with ultra hd super max plus, 50gb fiber
edit: wooting 80he white zync
Are you using the 80HE in 8khz mode tho
If you have up to 0.875 milliseconds of delay on your keypresses, someone without that delay is just gonna beat you to market 
Say what you want, but vibe coding can be quite impressive
I think you still need to have a solid grasp of code to really get anything out of tools like cursor
and I'd argue cursor is not a very useful tool at all because it's missing basic QoL that even sublime text offers
but I'm also the kind of person to disable the 'Cursor Tab' because it's extremely distracting
I've only tried the chat and that seems fine but realistically, if you want it done right, you do it yourself
I think people should vibe code, AI is so bad when it comes to making anything more complex than a simple single request app. Let them see how bad it is. Experience it, live it, love it, breathe it. Ingest that steamy pile of dog shit of marketing and realize how unproductive it actually is.
Hi not sure if correct channel but i want to change a behavior of capslock key, i used to be able to do it in QMK, so on key pres it triggers the key, and is active, but on release, it sends a of signal to system so capslock is turned off always, i prefer still having capslock binded since some games have binding to the key so remapping it is not an option
please dont crosspost the same question in multiple channels
Hi, if I have a question/potential issues with Wootility, is this an appropriate place to ask some questions about it or is there another better channel?
yes remap it in wootility
I just have a goofy idea to do something fun with the positional data on the wooting keyboard. How hard is it to for example get all the analog input data and have it constantly displayed on a console? Just so i can get an idea of how to work with it
thats how you get analog data
is there a way to also have the trail effect as well? when i add it on it just breaks both of the scans
Would it be possible to utilize the benefits of the Lekker switch in design? For example, in gaming, it can be used as a gaming controller. Could the same workflow be used in 3D software like PTC Creo or Blender? My best guess is that a custom script would be required. I already have a 3D Connexion SpaceMouse Enterprise, which is great for general modeling, but for surface modeling, it would be nice to have additional features.
You could definitely use the Analog SDK to read how far the keys are being pressed in your own software/plugin
https://github.com/WootingKb/wooting-analog-sdk/issues/12 <<--- still no progress?

From what I understand, Simon would be pretty busy now with Wootility V5 and that upcoming background process
I don't know about the other devs, but I think most of them don't do firmware stuff
where do i import codes in the new software?
Certainly not in the #🤖│community_dev channel
i have just chuck my TTC KOM switches into the Wooting 2 HE
not sure if the switches arent compatiable or maybe the new beta update that i just updated
does anyone have issues with new beta update or having issues with other switches ?
would be actually nice to get firefox support aswell ..
This works with Wootility V4: https://github.com/Sainan/WebHID-for-Firefox
Is it possible to make it so that when I press the ''2'' key, 2 seconds later its gonna press left click for me?
so basically ''2'' pressed -> wait 2 seconds -> press left mouse button within one keypress?
With Wootomation maybe?
Idk if they’re compatible but I might be remembering wrong
I could be lying tho one zec
How do I use the tilde on 60HE??? Any advices?
By pressing the same key combo as on any other keyboard (note: 60HE default mapping will require fn in addition to the normal keys!)
This doesnt work for me :/
I am having that same issue
Right now I really need to use the tilde key for the new game schedule 1
But whatever I remap and try to do it wont wrk
On my layout, ~ is produced by pressing Shift+`
I got it to work by changing my kb language to eng and pressing fn shift and esc
can someone help me with my wooting 60HE problem? keyboard won't detect enter key and no graph movement shown in analog-monitor.wootility.io then buggy with the right shift key, i've tried to unplug 5 seconds not touching anything after replugging, troubleshooting on wootily web, changing switches, keyboard restoring/ reset on wootily.
Anyone knows if there is an option to change the key RGB color when is set to Toggle-Key mode. Like if you press it and the key is activated that it is Red and that if it is not activated it changes back to its default. I find myself sometimes leaving the key activated.
can we get a no power to the leds as they give off a ton of emi and they make the Hall sensor less sensitive to the magnet, also
make rgb black
@quiet root already did this
then they are off and receive no power
👍
Nice. They could probably have the keyboard register itself as a mouse but it'd have to be done in the firmware and the complexity there is a bit higher.
Hi, can we finally link without exterior software a profile to a .exe yet or still not incorporated ?
it will always need software running. we are working on our own background program to do this
so no, allright, I'll check back in a few months then, ty
No this would require OS support or another application which happens to be installed already (e. g. Steam does this for Gamepads)
Is there a way to map a key, or a combination of keys, into the “fn/globe” key of macOS?
currently only by changing it in the macos settings
Wdym?
macos system preferences > modifier keys
most people just change capslock to be globe key
Oh okay thanks, so isn’t it possible to have a FN key in the wooting keyboard that is recognized as regular fn key by the OS?
no cause fn keys are in most cases internal to the keyboard device
laptops and notebooks can have tied integrations where the os can be aware but that relies on the fact of closed ecosystems
Actually the fn key is sent by repurposing the reserved byte in the keyboard report.
One caveat is that the vendor id must be Apple’s and product id is one of their keyboards that has the fn key.
Can be easily done with custom firmware like qmk but I doubt any manufacturer would open themselves up for litigation with Apple
I just wanna give a huge thank you to whoever pushed for full linux support. Just pre-installed wootility on nixos and it was absolutely seamless! So, so glad I picked the 80he over a gmmk3
just as a fun fact linux wasnt the real target if im correct. it just came as a coincidental win when making the app macos and win compatible via electron
just like me fr, except I target linux and then hope macos works
Hey, does anyone know if the num lock functionality can be modded? Either by modding the off-layer to be the equivalent of the on-layer or at least by changing the num lock toggle to on-press=>always-set-to-enabled?
im a bit uncertain as to what you request
like whats happening with numlock and what do you expect to happen
@gentle crystal
I want to circumvent the num lock functionality. The thing is that I can't just completely disable the num lock key, as sometimes the OS (like when starting a Linux VM) may decide to switch off num lock for me
I never want to NOT type numbers using the num pad. I'd like to do something like setting up both layers of the num pad. When it is on and when it is off.
I assume num lock off equals arrow keys
the thing is that the keys dont change function on the keyboard ever
they stay mapped to the same scancodes
he os just changes the output/function depending on if you have numlock on or not which also depends on the os having seen the numlock press
ah crap, so what you're saying it's decided by the OS?
very much so
outside of fn layers which modern keyboards have the rule is that scancodes stay the same
so shift doesnt change anything nor does caps, alt, super or numlock
or any other key
there might be hacky ways since the keyboard gets 1 info from the os on what locks are active (num/scrl/caps) and then the keyboard could just send a numlock press but thats very hacky and could also cause issues if the os doesnt send the state early enough
The big reveal is going to be that they're gonna focus solely on being a keyboard case company 
With software 😉
Damn, they spoiled it
not the place for this post but ok

I will of course be very interested in deving the new keyboard as a community member 😛
not like itll have a new sdk or such. its still the analog and rgb sdks so nothing changes
no {insert new sdk name here} sdk
Also just some additional thoughts: Starting out with a parody of JRE made me wonder when the joke was going to end until slowly it settled on me that, really, the new keyboard is just the 60HE, again.
#🤩│wooting60hev2 is the channel you wanted to post that in
My mistake, Tony, won't happen again (it will)
ik thats why i keep bringing it up. we appreciate you trying to partake in the community but please also post in the right places if possible
sadge was hoping this channel would be more alive :ppp
was actually quite nice to see alot of the wooting repos being done in Rust / C
its active when it needs to be. most implementations of our sdks are rgb related and well people just use the finished app really
ah yeah that makes sense, plus wooting being a keyboard company other than wootility im sure theres not a crazy amount of backend needed
i mean people cant work on wootility really. the only deving in here that can realistically happen is: sdk improvements by the community, wootomation improvements by the community or projects using the SDK by the community
yea thats fair, i was kinda just curious what the dev scene was like in wooting :3
I personally am interested in analogue input in general, but it's tough. Best we got is emulating a controller with the keyboard. 
keyboard can also do direct input
Wait, you're telling me the keyboard can like... send inputs to the operating system?
Man, I've been using my mouse and clicking on the letters this whole time
ok ok, no need for the snark
Is there a way to change the key colors .. my keyboard rgb is blue and when i press a key it goes yellow then back to blue? trying to edit that yellow color
wrong channel but sounds like you need to modify the trail effect
Ty soo much
Just tried using webpack. Am I doing this web dev thing correctly now? 
Fellow keyboard fetishists, has anyone tried to sync our subjects of admiration to Asus Aura by any chance..?
I...
Well, there's either the possibility of somehow reading the keyboard colour state from their software, which might require some reverse-engineering, I assume there's no API for it
Otherwise you use something like OpenRGB or SignalRGB to control your gamut of devices
This channel keeps getting high lighted, deleted spam?
I suspect that yeah, the one with the crappy phone pics of screen
whats the ins key on the 60he
I don't know, but please stick to one channel
you can set up a ins key don't think one comes binded
I’d like to build a small Windows tool that shows a toast / OSD notification whenever I switch profiles on my Wooting 80HE.
Is there any event or callback in the Wooting SDK (or another API) that lets a Windows app detect a profile change in real time, or is polling getCurrentProfile() the only option?
Any pointers to existing examples or recommended approaches would be appreciated.
Yeah that was my guess too... Alright ty
Can a keyboard detect the OS of the Computer (Linux, MacOS, Windows)?
Uhh, yes-ish. There's some stuff in qmk but it's basically just heuristics based on how they speak the protocol, it's not insanely reliable.
qmk has smth like that? link?
the base they link is the jankest code
but basically what i guessed would happen if you try to guess the host youre connected to
Would be interesting if you could specify Wooting Profiles for specific OSs (like they don't work on other computer or auto switch if the OS is detected), as some function keys are not compatible with macOS. or maybe you want to disable all gaming features on mac
probably more useful when/if wooting releases a wireless keyboard
Can't wait for the 60HE v6.0: Wireless Special Edition 
but maybe it's possible with the planned background process thing, whenever that comes out
long shot, but does anyone think you can swap audio devices via wooting functionality with a macro/other input without 3rd party software such as soundswitch?
mods can we ban this guy who's stalking me, thanks
Just block them
If you're alright with hitler profile pictures 
I am not...
Glad we could find an agreement 😄
guys do u have sdk for 32bit? cuz the one on github dont want to work
i keep getting liner erros even tho i linked .lib file
unresolved external symbol _wooting_analog_set_keycode_mode
unresolved external symbol _wooting_analog_read_full_buffer
unresolved external symbol _wooting_analog_initialise
i really have no i dea what to do
No, the SDK is 64-bit only afaik
but you can talk to the devices over USB/HID yourself
finally i craked it and no SDK 😂

speaking of 32 bit, is the way to use Soup's AnalogueKeyboard is to make a separate thread to scan for keyboards and to cache the inputs?
That's basically what https://github.com/AnalogSense/universal-analog-plugin does, no? Just steal that code a bit.
ah I already did it was just checking lol never done anything with HID before
anyways I have been able to implement analog keyboard support to Saints Row 2
and to Xenia mousehook
Nice
Maybe add it to https://github.com/AnalogSense/analogsense.github.io if you feel so inclined 😛
Yeah I'll see about releasing it for SR2, need to fix a bug with main menu where it does double input which is kind of a vanilla bug too that can happen
@placid ledge Do you think there's much blocking you adding 32-bit versions of the DLLs to the releases? Because afaict, it should pretty much just work* and would allow the Wooting Analog SDK to also be used with legacy games.
* See https://github.com/WootingKb/wooting-analog-sdk/issues/93
I see that soup also supports doing keyboard RGB, that's cool will it handle the differences between vendors I guess
will you be doing GTA V E&E for AnalogSense? @quick bough because if no I could maybe take a crack at it
I assume it doesn't work
hello i just got a newwwwwwwwwwww wooting keyboard yesterday it came in, randomly my keys that have triggered enabled when i type "w" it spams wwwwwwwww in one click. im using stock everytrhing i tried using usb a and usb, tried using different ports only provided a temp fix.. is my keyboard a defective?
Try #1019755933959733258 instead
I am ready 
Comin back for this again
1ms wootverlay for future searches 😄
oh you actually did GTA V E&E nice, that was unexpected, I didn't even play through it yet, thanks
I rly wish it was possible to convert Wooting input into pen pressure for graphic programs...
should be doable
trying to figure out how it seems pretty complex qwq
my gf is pretty good with APIs so maybeeee we can figure it outtt
cuz it'd be so cool to be able to have all benefits of graphic tablet with a mouse + keyboard
youd basically just emulate a tablet with a custom driver
that driver can then get fed data from whatever
its the same youd do to convert a keyboard to controller outputs with rewasd
or even combine controllers
yee that's what I was thinking of
Vibe code it
Easier solution might be to just make a plugin for your painting program that changes the brush size based on the analogue value
not as universal as a fake graphics tablet device
Well, I did specify "easier", notably because... y'know, people don't just write drivers...
well yes but that first would only work if the program they use support plugins
and then its again not quite portable to other drawing apps which there seems to be quite a lot of fighting for marketshare if i look at what was recommend a few years ago and then now
they probably have a drawing app they use
it just has to work for them, not everyone on the planet
that might be harder icl
prob gonna use chatgpt for it ye
Try Gemini cli
Ah yeah let's vibe-code a driver, that's so easy and nothing could possibly go wrong
ok. vibe engineer it
@quick bough does the shift/sprint button work in AnalogSense with E&E? it doesn't for me unless im doing something wrong but everything else seems fine
It does if you compile wooting-analog-sdk yourself
Hi i have a question. Few seconds ago I unplugged my keyboard since update and now it completly stop working. I tried plug it in but it didnt help. What should I do.
And windows doesnt see this keyboard
please dont crosspost. answered already in another channel
Hi, I need help with my Wooting device.
Device: Wooting 60HE
OS: Windows 11
Symptom: After a firmware update, the keyboard makes a USB connect sound but isn't recognized by the OS and bootloader mode is inaccessible. Wootility doesn't detect it either.
Could you please provide the developer recovery tool or next steps for reflashing the bootloader?
Please post this question in #1019755933959733258 instead 👍
This is the future trans girls want for us: https://discord.com/channels/167181566978555904/1402318882701709322
Hi ! I've ordered some TTC KOM RGB Switches, and I'd like to build a custom integration (it's for a midi controller), not directly a keyboard, with a custom PCB that will share other components.. any resources on this ?
Integrate with what exactly?
I'm building a midi controller, and I'd like to use those keys instead of regular switches
Hall effect keys?
Yes
Can't say I've ever done this, but I guess just find a manual for the keys you are looking to use
What about the hal effect sensors, do we have a reference for those ?
So, from a quick look, what I can find is that the very bottom part of the switch is a hall effect sensor
there's 2 pins on it as you would in an electrical circuit
and the magnetism would then just be transmitted as a matter of how strong the signal you get is
Yes, but the switch just includes the magnet, not the sensor itself, right ?
hmm, it would seem so
just looked at one of my own spare switches
the diagrams I found online were a bit confusing
It's really a pitty wootility only has a limited set of keys that can be mapped. Seems like support for copy/paste buttons is being worked on for Linux! https://mark.stosberg.com/universal-copy-paste/
On Linux, Control-C and Control-V don't work for copying and pasting in terminals. The Control modifier is used for its original purpose of inserting control codes. Instead, terminal apps require an extra Shift modifier, like Control+Shift+C.
But what if there were hidden shortcut combos for copy and paste
Well, it's a pragmatic choice because each physical key has a single byte to describe what keycode it emits and that's it
To trigger the copy or paste keyboard actions, software has to bind these key codes to actions. Software toolkits or apps themselves are responsible for this.
a lot of programs dont even allow direct mapping of scancodes
so most of the time even if you had the keyboard shown youd end up binding the key to just press ctrl+c and ctrl+v in software
i forwarded it internally anyway for the firmware team to look at
It looks like they're trying to add support for common toolkits for Linux (qt/gtk) so they can handle copy/paste scan codes and this will work with any application using those toolkits.
Would be cool to use fn-c / fn-v instead of ctrl-shift-c and ctrl-shift-v in a terminal..
its a fine line really between adding whats convenient but also not adding it as it might cause peopel to be confused. idk if windows even plans to support these so there is a scenario where someone may map copy and paste but cant use it and thus may blame the keyboard for not working instead of the OS not having it supported.
I am so used to terminals just copying stuff whenever I let go of my selection. Not that I am against more standard behaviour in this regard.
we also support more standards like this especially something like mute and deafen keys that the OS respects for example. but the sad truth is they all implement it at wildly different times
I don't think there's a limit of 256 scan codes that can be mapped. I guess the hid describer tells how reports are translated to scan codes..
theres smth called usage pages
I mean the firmware's internal representation of it
thats not really a super big issue i think. it would mainly be an issue for our avr boards i think
i cant speak for the firmware team but i imagine our ARM boards have enough resources to just double the bytes per key
tbh, I do think 1 byte is still more than enough
but yeah for HID itself, that has 4 bytes with usage page + usage id
actually maybe even more since it's like a varint type thing?
but 2^32 is already plenty
when i try to run the virtual keyboard it returns this
2025-08-20T08:29:03Z INFO wooting_analog_virtual_control] Error : Cannot find unique os path since link_file does not exist
thread 'main' panicked at wooting-analog-virtual-control\src\main.rs:289:17:
Failed to open SharedMem...
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
i ran the sdk installer and i have wootility. anyone knows why this happens and how i can fix it?
What operating system are you on?
But realistically I might recommend trying to build it from source on this branch: https://github.com/WootingKb/wooting-analog-sdk/pull/94
windows
alrr ill try that
I mean it should at least work on Windows using the latest version. Just have to be sure that your version of the virtual keyboard plugin matches with the version of the GUI to control it
I'm currently trying to create a small program that first acts as a profile backup tool and later to switch profiles that are not stored on the device but rather in the "browser" (electron of course not the real browser) storage.
I noticed, some fields are named color and some colour 😂
yes
also changing to non onboard profiles will sooner or later come to the new background service that will also replace the rgb and analog sdks at some point
I know, but I have some spare time to play with it a little. And from what I have seen, it might take some additional time till the background service will also include profile switching.
May I ask if it will be written in rust?
@strong siren can tell you all about if its rust or not
diogotr seems like more of a C# person to me
but Rust would explain why it's taking so long
It would not say that rust is the cause it’s taking longer. I would guess the cause (besides other projects) is related to planning out the best way to write it, especially if they want to include a newer/improved rgb/analog SDK into it at some point. Also the amount of conversion that needs to be rewritten for the profile struct should also take a little.
I mean, I can only check how the Wootility does profile - binary conversion and what to send, but as it’s a react app and minified, it’s really stressing to go trough a dozen of classes, fields and functions to find what I want to look at. 
At least storing all profiles as separate files and restoring them wasn’t that bad. But I still haven’t got a single command ready to send to the Keyboard 
I think the real reason is probably some flavour of incompetence like idk why Wootility had to be rewritten from scratch just to add support for a new keyboard but it cannot be a good sign of the inner working of the company
The longest it ever took me to do something I'd say is 1-2 weeks for writing a TLS 1.2 implementation from scratch. Iirc that also included implementing ciphersuites like RSA and AES as prerequisites.
I think that's a reasonable amount of time to expect for a little background service that just needs to handle some persistent state and queuing
maybe 3 weeks to account for the Rust tax
will there be a clicky switches for wooting?
No plans for this currently, also not related to #🤖│community_dev
This is like asking if there will be a TKL Wooting
It's been done before, now they don't sell it anymore, and that's that 
I think I might just wait a little, I really struggle to write a new c function equivalent to a specific sendReport js function of the wootility. 
wooting_usb.c of the rgb SDK doesnt does not have it, either sending features or sending a Color report, but I would need a more universal sending report function like the one in the wootility.
The packet is either the full 256 bytes or 4x 64 byte chunks
or something to that effect
a full profile is likely split over several packets for the various states/features
Actually, depending on the protocol revision (based on the hid report size) you need to change the index and it can go up to 1022 from what I can tell.
Ah right yeah I forgot about that
but afaik it's basically just you use the small reports if ARM-based and older firmware
I might try it again at some point actually, even if its just the basic size you have. What i have done is make some part of the profile to be convertible between JSON <-> Binary.
When do we get the wooting update that'll allow us to select what switches we are using or perhaps alternatively, to select the travel distance of the switch being used?
What?
So is it possible to through the SDK remap keyboard so that pressing ”z” writes ”y”?
How long does it roughly take for the remapping to become active from when the program initiates the call?
Instantaneous? 1 second?
Does it have to be done through rust or can we do it through other coding languages as well? :(
only possible via the sdk if youd write the profile to the keyboard via raw usb commands
Specifically looking to do it with the Wooting 80HE if that matters
and remaps are active as soon as the profile write is done
And how long would the profile write take?
a few ms and then another few ms for the board to reload
Does profile write mean that we have to predefine the profiles ahead of time? Like when we click the profile key?
thats what a profile write is yes
you overwrite one of the onboard profiles fully
you can get the profile thats currently loaded
and then change what you wanna change
Is it possible to swap to another profile instead? Would that be faster?
yes and yes
Is there a max for the amount of profiles we can have active?
4
Hmmm aight
but then you dont need the sdk
And if I wanted to do these things, are there any resources on how to do that? I looked on the GitHub but felt like it wasn’t that clear
no
With that said I didn’t deepdive, just briefly looked
we dont recommend people write raw profiles to the keyboard themselves
Yeah I assume you can brick stuff
na just need to reflash
Ah that’s good
but im also unsure what youre trying to solve and maybe youre going about it the hardest way possible so /shrug
I can PM
if its so secret you cant post it here then id rather not know
id personally probably look into making a custom keyboard layout in your os first, then something like AHK/Macrogamer and only if those also dont work would I look at the hardware level stuff
all of these can change how keys behave
@quiet root that would be an option, but I want to try and learn how to interact with the hardware level
I’m trying to make a program that dynamically rebinds a key to other ones based on conditions I give it
So not specifically one remap, but different ones dynamically
well gl i can just give you pros and cons and at least to me the cons outweigh doing it via SDK and USB commands
I do get that it’s kind of like walking across the country to get to water instead of using the tap
in this case more like the planet just to arrive back home at the tap
But essentially, no resources available on how to remap through SDK and USB commands?
since all the hardware way does is add delays and complexity
na most people just do it in AHK or another macro tool as its far far simpler
I assume you have no plans on writing documentation for how to use the SDK like that either then?
not really no
Which is fair - if people don’t use it it’s a waste of time
im not immediately aware of anyone having dont smth like this either
If I were to do some research and write some resources can I add it to the GitHub? :)
But is wootility closed source then?
honestly not sure. i can see us just not wanting it be easily publicly available. not cause we want to hide it in itself but because people might misunderstand that its our preferred way of doing it
well as closed source as a webapp can be.
Didn’t check the JavaScript yet as I’m on my phone, but there’s always obfuscation techniques for that so hence the question
I did kinda reverse-engineer this a bit already but it's very jank and likely not compatible with the latest firmware anymore: https://gist.github.com/Sainan/0d285907961a22c8cafc106aa36513e5
the use case seems very uh interesting to me I'm curious why you need rebinding specifically
custom advanced key incoming
Trivialize moving my hand to different keys
remap one key to different ones dynamically based on conditions ^^
I think they just use webpack or something like that
Sourcemap not included
Very sad
I have a severe allergy to layers of abstraction so 
If there are other options for how to achieve what I stated above without using AHK/other macro tools feel free to enlighten me
Write a driver
Use a rubberducky (or similar effect via arduino)
Use a keyboard hook
Not sure if that’s an option for me, quite sure that like every game I play would be banning me if that’s present on the PC no?
EAC, battleye, vanguard, vac etc?
Questionable
hmm don’t want to risk it since I have some valuable skins on those accounts
Hence prefer to use the sdk 😝
use a spare account, play for a bit, find out
if not banned after a few months, you're fine
in theory the sdk way can also get detected by AC. any software on your pc can in theory trigger it
indeed
I would not be surprised if just having a wooting device in the HID enumeration lowered your trust factor in certain games haha
if you want a surefire undetectable thing youd have to use a the rubberducky approach
its the least likely to get detected in any scenario
good ol' ban testing will do the trick
also funny thing is that generally, a private cheat will not get you banned
this is by design in the anti-cheats
if this cheat were to get out, so many different people trigger the same detection, only then will they make a banwave
So ”write a driver”, have an arduino and then what?
No, those were alternatives
both are separate
I mean, rubberducky is just an arduino board iirc
a driver is a software solution closer to the OS and the arduino one is basically like a passthrough filter you could use
And what is a ”rubberducky”? Isn’t that the USB that does thing automatically..?
anyway, it's a little embedded device that emulates a keyboard and allows you to program it with C
yes but the idea is you have a device pretending to be a keyboard
when its not
and you could inline this with a real keyboard to grab the real keyboards key presses and then modify them on the fly
that sounds way more difficult that remapping the keyboard though no?
Intercepting keypresses and modifying them on the go 😧
well sneding profile data can break with any firmware update really
the intercepting would be most likely completely keyboard agnostic and stable as its USB standard based
Ah wait are you saying that the keyboard would be plugged into the arduino which would then be plugged into the pc?
Simulating keypresses?
same thing in my head
Just some simulated keypresses are modified
But surely the PC would be able to see that it’s an arduino and not keyboard?
I mean, it depends on what exactly you're trying to do
Spam one key and make it actually click something else to the computer based on predefined conditions
Without anticheats going haywire, preferably lmao
I'm sure there's plenty of devices like it
I guess the hak5 one would be like wooting to analogue keyboards
Kinda rough to buy one of those devices when we supposedly can do it through the sdk tho
anyway, if you don't want to lose your account, do ban testing beforehand
supposedly? nope, that's a vast misunderstanding of the SDKs
there is only the SDK for the typical RGB, and also analogue input which no one uses
they have the actual rubberducky but a lot of people (to my knowledge) refer to devices similar to the real one also as rubberducky
but also, I know some people who spend like 10k on skins just to cheat on the account and get it trade banned lmfao
to each their own I suppose
Typical RGB, analogue input?
RGB, as is typical/expected
You mean that the keyboard will have red green blue lights?
analogue input as in games could figure out how far you are pressing a key, kind of like the triggers on any non-nintendo controller
the gamecube has analog triggers (and so does the switch bluetooth one)
hmm? I have a switch pro controller and it's digital triggers
the switch pro isnt the gc one
but idk, I'm not that invested in nintendo
Not sure if it’d be a problem for me though
had my fun with mario kart world, now the switch 2 collects dust 
great use of like 500 euros
so true bestie
I prefer my steamdeck
it's a bit more chunky, but at least I can do whatever I want with it
Actually owning what you purchase? Crazy
yeah...
I'm amazed people are at all surprised by google trying to lock down sideloading
because realistically smartphones have stopped being portable computers pretty much as soon as they became mainstream
not that I like how it is this way, but I just don't see it reasonably getting any better, especially not when there's no monetary incentive for it
before this drifts to far from the channel topic: @waxen river i hope you got some answers to try and figure out your problem
well, ish
Will try to look at the webapp and how it remaps the keys and make my own version of it

And when that doesn’t work I’ll plug in my pi
I would suggest wootility v4 because it's a bit easier to hack
CSP be damned!!!
although you did say 80HE? tough luck
v4 is not compatible with it
Does anyone know what the actuation hysteresis used on wooting kbs is?
whatever you want it to be?
As far as I'm aware you can only control the actuation point, not the hysteresis around it
I'm curious whether the hysteresis goes into the positive, negative or centers around the configured actuation point, and how big it is
The reason I need it is because I'm currently writing a wooting settings emulator as part of a cheating investigation tool
That's crazy
Hey I had a question if any of the sdks have the light indicator modifiable
Yeah, that's what the RGB SDK is for?
As far as I could tell it couldn't control the light indicator
I guess you mean the thing on the 80HE?
yeah
Yeah, I'm not sure. I have no clue what it's even supposed to be for. I'd say battery indicator but... they don't make wireless keyboards, lmao.
Could be a volume indicator, but... no SDK support. Maybe they were planning to do this with the Perpetually-Coming-Soon™ background service
They are but I wanna write custom stuff for it
Was just curious if anyone's made one
Otherwise I'll reverse engineer it myself
Hm, i send the exact same bytes at the exact order to load a profile that is not on the keyboard, i managed to send the LEDBar Profile but after that, the keyboard just hangs (with working LED Bar and typing, just not the rest)
Im not sure what i am missing
I guess this is what I'll do
So now a new question
What's probably the best way to see outgoing HID bytes?
the best way? a usb analyzer
smth like this https://www.totalphase.com/products/beagle-usb480/
The Beagle USB 480 Protocol Analyzer allows developers to non-intrusively sniff the USB 2.0 bus in real time. Learn more now!
or if you dont care about usb2 stuff and usb1 stuff is fine this one https://www.totalphase.com/products/beagle-usb12/
Beagle USB 12 Protocol Analyzer is a non-intrusive full and low speed USB protocol analyzer that includes real-time USB descriptor parsing.
wireshark with usbpcap is nice
could also work although i honestly had some bad times lately trying to get wireshark to cooperate. none the less worth a try
ive used it a lot specifically to debug protocol related things so I can recommend it
i have to spend a weekend sometime to figure out why wireshark doesnt like my windows install or in this case the pcap installation
I already did, took a while to understand everything. I’m now just stuck at the keyboard hanging after I send the correct values (that are temporary just copied from wootility sending it) and I need to replug the keyboard. No idea why as wireshark shows no difference between wootility and my application.
Strange
Yeah I guess I should probably go with Wireshark since I blew my money on the keyboard itself 😭
Hmm interesting
just fyi writing to the ledbar like you can do with the regular keys is not possible without us adding it to the firmware (it's planned)
you can send technically send a profile that doesn't get saved i guess but it's not as simple as it would be with an rgb-sdk-like command
Yeah I'll have to play with it anyway
By the time I get around to actually doing anything
It'll probably be our
Out
That’s what I currently tried. But yeah, stuck at this weird issue.
Oh sry for the ping, forgot to deactivate it…
if you show me what you're sending and on what firmware version i can check if it's a firmware bug or something else weird going on
Is it ok to do it here or should i dm you about the code? I'm running firmware v2.11.0 on the 80HE
DM is preferable
Hello,
I have a problem with my keyboard. I was doing an update for my keyboard. And what happened is that my PC turned off. And since I turned it back on, my keyboard no longer works. The Routing app tells me that my keyboard is not detected. However, my PC recognizes it when I plug it in and unplug it, and when I go into Device Manager. And I can't reset my keyboard from the app because it doesn't recognize .Wooting 60HE+
This is not the right channel, it would be #1019755933959733258 but try this and if you need more help create a thread in there
OMMGGGGGGGGG T BOOOSSSSSSSS
Managed to create a few animations now
My favourites are lightning strike, matrix and disco to be honest 
WOAHH how?
All custom made, took a little effort + trial and error.
any plans to release the source or will I have to play around with it myself?
No plans, i think it's better to just wait till they publish an update to directly talk to it via SDK
Fair enough but ill still probably play around with it because I like seeing how stuff works
That's one of the reason why i wanted to implement loading non-onboard profiles from a file. Just to see how all this stuff works, but it takes time.
that first one has some knight rider vibes 😅
That's what it should be, a small knight rider effect 😄
Question, does it affect noticble latency?
I mean
Is there extra latency and if so is it noticeable
Not that i'm aware of.
any led changes can introduce latency when compared to tachyon (no led changes)
are the chips in our keyboards single-core?
I would kinda expect so but can also imagine splitting the work into 2 with time-critical stuff having a dedicated thread/core
from what i heard the issue is the voltage changes that happen during an RGB update which can mess with the analog signal traces of the sensors
so multithreading wont help
huh, okay, is this just a matter of the 2 things are sorta on the same line but could be split or it's just the entire circuit becomes unbalanced?
you wont get a detailed answer 😉
no need since anyone looking at the pcb can answer that really... they are separate traces but not isolated well enough for the, essentially background noise, interference that happens when RGB changes to LEDs happen on the analog traces.
if the sensors would do ADC work internally this wouldnt even be a big issue since the traces would carry digital signals
(i dont wanna imagine how bad it would be though to try and run all the sensors and ADCs and such on the posed theoretical)
I know this but yes I meant like for day2day usage of just like typing
no
ive run 60fps animations on my twohe for ages in the past and didnt notice it even during casual gameplay
Have you made some custom ones for yourself?
When Wooting Centrepiece
Just kidding
unless
I love how finalmouse don't know how to sell products and flux keyboard are seemingly just in perpetual 'coming soon'
and I'm sure some day wooting will get the 60HE right so they can move on to making a TKL or something 😛
I'd actually really dig a two he with a detachable numpad. 
wouldnt be a 2he then would it
😛
I might have to abandon analogue keyboards entirely to get my ergnomic ideal, but the numpad is right around where I want my mouse to be, and it's just not good for my shoulders. getting old is horrible 
I wish I would've had the foresight to buy a Wooting One back in the day
Wooting One HE leaked
actually sadly the wooting branded thing that's glued on the cable came off since I took that picture 
yeah but tachyon is literally static, no?
I'd assume extra cycles to edit rgb (albeit very little) affects latency even a tiny bit
but I was specifically asking because as far as I can tell @rocky wharf loads an entire new profile with the updated led bar
Anyways that reminds to actually not use windows to debug HID (to do stuff like that as well)
no you can send rgb sdk commands even in tachyon
and theyd have an effect on latency as well
should in theory reduce it to the same speed as non tachyon
not really since I feel like rapidly updating profiles would induce extra latency
oh in that case yes
if its just rgb it would basically just have the impact normal onboard rgb has
Since iirc this is how this works
oh yes I'm talking about doing a custom led bar
Isn't it theoretically possible to have 2 data lines in USB?
iirc, there is a negotiation about what pin means what, right?
so, one line is you sending RGB commands, and the other is the keyboard sending input ASAP 
but then I guess the real issue is that the keyboard has to actually do what you said
thats not the issue
the issue is about reading a reliable signal from the sensors during rgb updates
and in the case of loading entire profiles thats technically even "worse"
technically we should disable the rgb sdk in tachyon
Yeah, that's what I meant
I do not load a entire new profile for it.
How do you do it /genq
If ur okay sharing
prob the profile preview feature
It's like sending colors via the rgb sdk, just with another command/code (which some can be found in the pinned messages). But it's more complex since there is no direct way of sending only the color to the led bar.
Ty!
gonna try to find it myself now, wish me luck :3
hey guys I was just wondering if I could please get a hand with debounce function on my keyboard and tick rates
Hi! I was wondering if there was any sample code for controlling individual LEDs using WebHID? I did a search here in Discord and on the Wooting Github pages, but only found a very old example that used node-ffi
thats because the SDK is C based. you can try reimplementing it in pure javascript with webhid but i dont think anyone has tried doing so
the C sdk is open source, it shouldnt be that difficult to reimplement in js
WASM solves this 
but yeah just give the C code to ChatGPT say "make javascript" and profit
Ha! I figured it's about sending the right incantations via WebHID, but never tried anything like that before. Hoped there was a toy example floating around, similar to how the AnalogSense.js works
Tracing through the Wootility source now to see how the editor does it, ripping bits out of that maybe
It's easier for you to follow this https://github.com/WootingKb/wooting-rgb-sdk
(as bad as the sdk is...)
Fair, there's layer upon layer of infrastructure in Wootility. Thanks, I guess I'll try my first vibe coding adventure
may i ask what the end goal with this project is?
webhid wouldnt be my first platform of choice to control LEDs is all
I'm an interaction design researcher. Wanted to do some experiments with the keyboard. So it's not for anything performant or real-world
For me Typescript is a favourite sketching language
I love running a separate program while developing just to turn my interpreted language source code into something a browser can actually use
To change colours, should I use the HID usage page of 0x1337 and do a feature report?
I'm not sure you have other options 😄
When I call sendFeatureReport I get the error NotAllowedError: Failed to write the feature report.
But if I call sendReport I get no error, but no outcome either 🙂
You opened the device and ensured your feature report is correctly sized?
Device is opened, but I'm not sure if I'm packing and sending the command properly. The Uint32 array consists of: 208, 218, 30, 0, 0, 100, 33
Where 208 and 218 are the 'magic commands', 30 is what I hope matches a key and then the r, g, b values
Sorry, the 30 corresponds to WOOTING_SINGLE_COMMAND
Show your call to sendFeatureReport
Also, Uint32Array would be wrong, you'd need to use a Uint8Array
Oops! Ok, that for sure made the keyboard react
Sweet! The target key was changed. However, the brightness of all other keys suddenly went up
if they were dimmed because of the sleep timer, that's expected behaviour
No, it's the keyboard I'm using to write the code 🙂 I had the RGB LED effect set to low brightness in the Wootility app.
Firmware is up to date, not using Tachyon mode.

From what I understand, when the firmware enters WootDev mode, it copies your RGB colours over and then applies that until it's disabled. Probably a bug there with that either bypassing brightness or not properly copying it. 
Firmware open-source when? 
I just power cycled the KB, set the brightness in Wootility again, did a 'save to keyboard', closed Wootility. And then in my code, sending WOOTING_SINGLE_COLOR_COMMAND again bumps all the brightness
I have to say... I can't reproduce it
🤔
Here's roughly the code:
rgb_direct_set_key(row: number, column: number, red: number, green: number, blue: number) {
if (!this.#device.opened) throw new Error(`Device not open`);
const position = createKeyboardMatrixID(row, column);
const buffer = Uint8Array.from([
0xD0, 0xDA, // Magic words
WOOTING_SINGLE_COLOR_COMMAND,
red, green, blue, position
]);
return this.#device.sendFeatureReport(0, buffer);
}
Wootility says my firmware is up-to-date 
What are you testing?
I cannot reproduce either
Escape key would be position 0
I run my keyboard at 30% brightness usually and it keeps that brightness while changing the color
Hmm. Should it matter if I have an 'effect' set via Wootility?
