#🤖│community_dev

1 messages · Page 9 of 1

bright valley
#

Ive already seen snapkey being sold as hacks ;-;

quick bough
#

If it's not analogue, I don't care 😛

strong siren
#

bare win32 cpp :p

bright valley
#

I wonder if it's bannable though with vanguard

quick bough
bright valley
#

Idk if it allows you to modify it or not

quick bough
#

the funny thing about that rappy snappy is basically the same as what most games do when they receive analogue input (subtract)

quick bough
#

The one downside of not using the Wooting Analog SDK... gotta recompile for new keyboards

quick bough
#

Just compile from source I guess 😛

bright valley
#

lol ig

quick bough
#

yeah the thing is I just don't care about SOCD like at all

#

don't play FPS games, so...

#

pressing A and D for me means: vehicle goes straight

#

and that makes sense

#

(both for digital and analogue input)

quick bough
#

tho I didn't do the ultra-not-lazy thing of actually testing if it works

#

it's probably fine tho

bright valley
#

of a cpp developer

bright valley
quick bough
bright valley
#

idk i feel like writing something in python is harder to mess up

#

than in cpp

quick bough
#

If there's a bug, I can quickly test and fix it. I'm guessing no one cares tho and hence won't run into issues

quick bough
bright valley
quick bough
#

Eh, I don't use Python myself at all, just infering from how scripted languages be

#

not that C++'s compilers will prevent you from writing horrible code, but at least I can be confident I don't have horrible mistakes

bright valley
#

still pretty early in the writing outrageously bad code lmao

quick bough
#

What's your native language?

bright valley
# quick bough What's your native language?

None really tbh, I know java node etc. but I don't really care to use them as much, so I'm in a all out learning random languages and not getting good enough in any of them

quick bough
#

HUMAN language

bright valley
#

ew whats that

bright valley
#

why lmao?

quick bough
#

Okay, I think you have autism

bright valley
#

It doesn't exist if you don't acknowledge it

#

frfr 100% guranteed

quick bough
#

You misunderstood me twice now on very common phrasings

bright valley
quick bough
bright valley
#

You mistook me on very common answers

bright valley
flat wigeon
#

Sure, now it requires behavioral analysis to be detected

quick bough
#

Like, no human could ever get a frame-perfect A/D swap like 3 times in a row without some sort of assistance

bright valley
#

insert vsauce music here

vital raptor
#

Hiya!
I've been working for the past few weeks on a bit of software for Wooting keyboards. It's a spectrum analyser (something that takes audio and converts it into a graph of frequencies), making the LEDs on the keyboard react to the music you're listening to, which creates a nice effect.

It works really well for my setup and I'm really happy with how it looks, but I can only test what I have, so it would be nice if some people could also try it out and see how it goes. Hopefully it works for most Windows setups, so I can start the attempt to bring it to Linux.

And all feedback is very welcome, I'm hoping to get this into a very usable state ^^

Anyway here's a small showcase video and the GitHub repo, for those who want to check it out:
https://github.com/PrimmR/wooting-spectro

GitHub

Spectrum analyser for Wooting keyboards. Contribute to PrimmR/wooting-spectro development by creating an account on GitHub.

lusty dagger
#

looks great 🙂

vital raptor
#

thank you!!

paper crow
#

That's super cool 🤩

serene lynx
#

Im definitely gonna try this on my twohe later speedboard

vital raptor
#

fantastic! fingers crossed that it works on that model ^^

wide skiff
#

That is super cool, I wanted to do that on a board since forever!

serene lynx
vital raptor
#

brilliant!!

serene lynx
quick bough
karmic thorn
unreal pasture
#

WHOEVER made that usb beta fireware its a good step in the right diection

bright valley
vital raptor
quick bough
#

Everything works flawlessly unless a bug report proves otherwise 😛

vital raptor
#

So true!!

serene lynx
vital raptor
#

:DD

quick bough
#

Apparently CS2 devs added a detection for snap tap to the game

balmy iron
#

Unsurprising, valve does like tracking all the stats

quick bough
#

At this point I don't see why they don't just add a "SOCD resolution" option to the game, although that would be like shipping cheats with the game

#

Otherwise I guess they could add a warning message like "Hey, it looks like you might be using an input method that is resolving SOCD before reporting it to the game, which we consider to be cheating. Stop this or you will be banned."

#

Either way, they gotta level the playing field somehow, lol

vital raptor
#

Hehe thanks!

mellow copper
#

Hello all ! This is just a quick question, I know that it is somewhat alluded to in the FAQ section, but I wanted to ask, I have been looking at the 2HE model to get, but I am “concerned” that I will get it and then a new revamped model will be released or put into production, leaving the keyboard I just got somewhat behind, whether in physical or software capability. Are able to have any sort of insight for that ? Thank you in advance !

unique goblet
#

this is a shot in the dark but does anyone know if decoupling capacitors are actually needed for the linear hall sensors on the wooting? i noticed the back of the wooting 60he doesn't have any but most of the datasheets ive seen have them included in the recommended implementation

strong siren
floral crane
#

Is wooting firmware encrypted and/or signed?

quick bough
#

Wooting's legal team preparing to sue you speedboard

sudden jungle
quiet root
#

so software wise we havent left any of our devices behind yet

#

even our wooting one gets updates with new features as long as the limitations of its hardware allow it

quick bough
#

When are we getting a TKL with HE keys cat_weary

#

also the linear keys were kinda based, the sound profile was nice

granite ore
#

@vital raptor

granite ore
#

And I cannot find the executable

livid trellis
deep light
#

is there a way to have multiple actions while holding down a singular key depending on the amount of time its held down?

#

i use shift for up arrow mod tap

#

i want to be able to hold shift for it to function as shift, hold for longer to function as up arrow pressed down

#

200ms for shift, 500ms for up arrow

vital raptor
granite ore
#

If needed I can screenshare with you and show you what I do and what it throws at me.

balmy iron
#

You need to install libclang and friends, and make sure cargo can find it. As to how you do such things on Windows? No idea!

vital raptor
#

aah thanks for finding that!
i already had Mingw64 before starting so I didn't notice it was needed

granite ore
vital raptor
#

Nono, that's something you need to install

granite ore
#

How can I install it

vital raptor
#

Because the actual wooting library is in C, it needs certain C libraries to install, even though my program is in Rust

vital raptor
balmy iron
#

Winget should be preinstalled these days, unless maybe you've run a debloater script that removes it

vital raptor
#

oh fantastic!

cyan saddle
#

Is there a conical way to get the keys for a keyboard on the RGB and analog APIs?

quick bough
#

conical?

cyan saddle
#

Like a correct and supported way of doing it. Getting the count, locations and labels of the keys.

quick bough
#

Well, not really, no. The firmware only provides the keycodes as mapped in the Wootility (for analogue and digital input), whereas the RGB interface is positional.

#

Of course, this isn't really an issue if we assume a not-keypad (like the UwU) and a more-or-less standard layout modulo some differences with ANSI vs ISO.

cyan saddle
#

The goofy website for managing the devices knows all of this stuff, it really should be exposed somewhere so you can have an accurate respresentation of the devices in your programs that support them.

quick bough
cyan saddle
#

I could definitly dig into that stuff, maybe I should.

quick bough
#

The RGB SDK is definitely a good place to start if you wanna look at how you talk to the keyboard.

cyan saddle
#

I just want to be able to have a correct representation of the device in software. :V

#

This was a discussion years ago and it was never resolved and now it's more important because there are more than two keyboards.

quick bough
#

There is still the issue tho that you won't know which key is pressed if the same logical key is mapped on multiple physical keys. (Unlikely but possible.)

cyan saddle
#

Do the mappings of the keys matter if you are grabbing the raw values from the board?

quick bough
#

The analogue interface reports keycodes (logical keys).

cyan saddle
#
/** @brief Retrieve information about the connected Device

This function returns a pointer to a struct which provides various relevant
details about the currently connected device. E.g. max rgb rows, columns, etc

@ingroup API

@returns
This functions returns a pointer to a `WOOTING_USB_META` struct which contains
relevant Device Information
*/
WOOTINGRGBSDK_API const WOOTING_USB_META *wooting_rgb_device_info(void);

Noice.

#

That helps a lot.

quiet root
#

the digital keymap is a separate thing that wootility just renders on the keys regardless

cyan saddle
#

It would be nice from a GUI standpoint to have them.

quiet root
#

you can retrieve the keymap

quick bough
#

At least I don't see any such thing in the RGB SDK

quiet root
#

the key layout is in one of the sdks

cyan saddle
#

Eh, I'll figure it out when I actually add the GUI to my game.

#

I have a couple of big blocking things in my engine for right now, so I'll just stick with my wrapper and some test cases for it.

quick bough
#

Trying to name keys is a problem you can only despair at

#

The best you can do in this regard is ask the OS if it can maybe be helpful with regards to the user's current layout

flat wigeon
quick bough
#

I don't think that's a bug per-se

#

I mean, yeah, if you set some default bind on Y and/or Z, then some European users may have a different experience trying to hit those keys, but you can account for that by changing the defaults based on the layout, for example.

#

Or you just always treat input as if being mapped in a QWERTY layout

bright valley
quick bough
#

I switched from QWERTZ to QWERTY and that alone was a rough transition

bright valley
#

most of them do the whole find and click typa action

#
  • if we continue using qwerty, itll make billions future people also adopt it
#

and rather than only having our current billion people, itll be even more people now using it

quick bough
#

I get the sentiment, but you'll have to sell people who never typed before on this first

bright valley
#

like your average IT guy

#

coming from someone who can type 210wpm on qwerty

quick bough
bright valley
quick bough
quick bough
bright valley
#

Idrk how someone can't type faster, to me its just moving your fingers faster

bright valley
quick bough
#

It's about typing at a pace you can maintain for like 16 hours, lol

bright valley
#

I'm a professional ctrl c + ctrl v typer

quick bough
bright valley
#

:D

#

plus intellisense and language server

#

and add copilot into it

quick bough
#

I use none of that crap

bright valley
#

Sucks to be you then ig

quick bough
#

Why

#

IntelliSense knows less C++ than I do

bright valley
#

I'm not typing system.out.println

#

5000x times

#

ill much rather type sout

quick bough
#

Copilot spits incorrect nonsense like 90% of the time

#

Just use macro software to setup sout as a shortcut for Sytem.out.println

bright valley
quick bough
#

I mean, any decent editor will like autocomplete stuff for you

bright valley
#

yeah

#

and you said you don't use any of that

#

;-;

quick bough
#

I didn't say I use notepad.exe

#

I just say I don't use any tooling that knows the code less than me

bright valley
#

Who ever the hell blocked . needs to get banned

quick bough
#

IntelliSense literally errors on perfectly valid C++

bright valley
quick bough
#

I mean it literally doesn't recognise syntax that's in the standard

#

It just errors because it doesn't know C++ lmfao

bright valley
quick bough
#

Visual Studio

#

You say IntelliSense

#

IntelliSense is a thing in Visual Studio where it parses the code and spits out incorrect nonsense 😄

bright valley
#

Soooo

#

¯_(ツ)_/¯

quick bough
#

CLion seemed so useless to me

bright valley
#

Visual Studio looks ugly

#

atp id just use nvim

karmic forum
#

Yeah all of their products seem to specific for me to have to use so many

quick bough
#

Trust me, I do not use Visual Studio for the looks, lol

#

or even because it's a good editor

karmic forum
#

I was interested in rustrover for a bit because i heard it was pretty good

quick bough
#

I use it because it's how you maintain medium-large C++ projects on Windows

bright valley
bright valley
#

Fleet is a visual studio code competitor

#

and clion is a visual studio competitor

karmic forum
#

I might look at it at some point idk dont really have a reason to though you know

quick bough
#

Fleet is just like VS Code, so not really an IDE

bright valley
quick bough
#

(also actual malware btw unless you don't value your file assocations)

bright valley
#

having vscode server on a remote server

quick bough
#

I prefer Sublime Text, not M$'s knock-off

bright valley
#

sublime text sucks, vscode has much better extensions

karmic forum
quick bough
#

Sublime Text is snappy, VS Code is not

bright valley
#

sublime text is also paid

quick bough
#

I don't care about extensions because ST actually works out of the box 😄

bright valley
quick bough
bright valley
quick bough
#

You can afford a licence if you're even a half-successful software dev lol

bright valley
#

Just said it is paid

#

and you said its not

#

it is paid

bright valley
#

objectivelly vscode has more features than sublime text

quick bough
#

It's got a lot of bloat, it's very slow, and it doesn't do anything particularly well

bright valley
#

vscode barebones has almost nothing, and its opensource you can remove anything you want

#

and only install the things you'd like to add

quick bough
#

Sublime Text is much more focused and thus does those things a lot better

bright valley
#

its more focused

#

and does things a lot more better

quick bough
#

I don't know nvim

bright valley
quick bough
#

Doesn't run natively on Windows apparently

bright valley
quick bough
#

Ah, they hid it, lol

#

Umm, is this it?

#

It's literally just vim

bright valley
#

Yeah

#

That's it

#

Look at how much more focused it is

quick bough
#

Somehow even worse than vim

bright valley
quick bough
#

Can't do :q, have to do :q!

bright valley
#

It's in the config file you have to make your own keybindings for everything and install every feature you'd like

quick bough
#

Well, I can appreciate vim, but it's not something I personally find is worth the time to properly learn

bright valley
#

you wanted focused and snappy

#

you don't want to use the focused and snappy solution

bright valley
#

its not as good as making your own profile

#

but its smt ig

quick bough
#

I can write my code, then I press Ctrl+B and it runs

#

Sublime Text gets this

#

Visual Studio gets this

#

VS Code doesn't get it

bright valley
quick bough
#

that's not even the problem lol

#

VS Code has no concept of build systems

quiet root
#

vscode has a general task system which can definitely build

quick bough
#

Yeah, I looked into "tasks", it's a pretty half-assed system, imo

#

and then the hotkey is Ctrl+K+B or something like that

quiet root
#

idk how a system as flexible as this can really be half assed but ok

#

its ctrl+shift+b by default but can be easily overridden

#
{
    "key": "ctrl+b",
    "command": "commandhere",
    "args": "argshere"
}
#

done

quick bough
#

Well, my only experience with VS Code is making an extension to support our language, and there was no way for an extension to add a "task"

#

We can only add a "command" and we have to write JS for that (cringe because language support is otherwise entirely data-driven)

quiet root
#

that could be but i rarely work on my own extensions nor would i want extensions to touch tasks

quick bough
#

So, I can do Ctrl+Shift+P and select this

#

Then I get this awful output here

quiet root
#

and you can stuff those commands into tasks as well

quick bough
#

I mean, it certainly works, but wow

bright valley
quick bough
#

Bro, I literally made an extension for VS Code

#

(and am still actively maintaining it)

bright valley
#

? that one

minor flint
#

Having a problem with the SDK. I’ve followed the instructions on the GitHub for both Rust and C++ but get “undefined reference” errors, which makes it seem like the sdk isn’t visible to the program. I have the wrappers properly configured and SDK fully installed. Probably a newbie mistake somewhere. Can anyone offer some wisdom?

#include "wooting/wrapper/includes-cpp/wooting-analog-wrapper.h"
int main() {
    int x = wooting_analog_initialise();
    return 0;
}
quick bough
#

Point being, it's not a matter of me not having used VS Code enough

#

Heck, I can probably even appreciate it for some TS codebases, but I'd argue that's an issue on the maintainers for having shitty ESlint rules with so many false-positives that it's a pain to work on that codebase without essentially an IDE.

quick bough
# bright valley Isn’t that for sublime?

This is for sublime, vs code, and visual studio. Language support is mostly standardised on the TextMate formats, which can luckily be shared, but there is some stuff specific for each editor, too.

quick bough
#

VAC source code leaked troll240p

#

Funny thing is that even at this ~1khz poll rate I can see some false-positives

#

This would be a good way to check if someone is legit, because this happens constantly with legit input, less often with rappy snappy, and not at all with last input priority/snap tap.

balmy iron
#

I doubt they would just poll keyboard state like that since keyboard and mouse input is event-based

quick bough
#

I mean, games are tick based, so they will have something like this already in place, just at a slower poll rate (tick rate)

balmy iron
#

Yes but the inputs come in as events so no need to run something at a high tick rate or whatever, just check on keydown whether the other key is also down

#

On the other hand, with how clueless the janitor working on CS2 is, who knows

quick bough
#

Well, alternatively you could check when the input event comes in, if the other key is still down

#

And maybe check when the last event from that other key came in

#

Same idea, just different implementation for an event-based input system

flat wigeon
#

In my opinion it's cool to have such features... but not baked into the firmware. And an input API that is capable enough to flag such behavior as legit or cheat

quick bough
#

You need to link against the library

#

The .lib file should be with the download

#

I'm not sure if that was for the DLL or static lib tho

#

Just checked, it's for the static lib

#

Here, this works:

#include <cstdio>

extern "C"
{
    #include "wooting-analog-wrapper.h"
}
#pragma comment(lib, "wooting_analog_wrapper.lib") // we are linking in a Rust static library
#pragma comment(lib, "Userenv.lib") // so there's
#pragma comment(lib, "ntdll.lib") // just a few
#pragma comment(lib, "Bcrypt.lib") // system libraries
#pragma comment(lib, "Ws2_32.lib") // that we'll need
#pragma comment(lib, "Advapi32.lib") // as well :)

int main()
{
    printf("wooting_analog_initialise returned %d\n", wooting_analog_initialise());
    return 0;
}
#

Ah yeah, this fun stuff

#

Freebie:

// Prevent Wooting Analog SDK writing to our console.
SetEnvironmentVariableA("RUST_LOG", "off");
#

I'm confused why cbindgen doesn't produce extern "C" by itself tho

#

Should be very easy with #ifdef __cplusplus or so

#

Even Lua does it and Lua targets C89

#

Apparently it needs a cpp_compat flag set to true in some TOML file that doesn't exist in the SDK project and the default is false

flat wigeon
#

Imagine changing the meanig of a key depending on the press speed

quick bough
#

No, please, no

quiet root
#

every few years

#

like clockwork

quick bough
#

I can imagine a difference between half-pressed and full pressed... but even that would require specialised switches (similar to the adjustable triggers on the DS5), otherwise it would be very difficult to input precisely

quiet root
#

this whole speed based events (different keys or such) and setting os volume by press depth come up way too often

#

and the os volume one is highly impracticle

quick bough
#

I don't think I ever saw this idea

#

but hey, you have analogue keys, might as well use them for slider-ish input 😛

#

omfg, I forgot I enabled rapid trigger on some of my keys

#

I thought the switches were broken lmfao

flat wigeon
quiet root
#

oh yeah in the past people have asked this as well

#

they made their own code

#

and quickly abandoned it after

#

im not even sure if we still have the channels archived where those repos were posted

flat wigeon
#

Hahaha, the volume control part has little impact anyway

quiet root
#

i mean both the velocity actions and volume stuff

quick bough
#

I did colour input on a DS4 by using the 2 triggers for hue & value input, and it's about as usable as you'd expect

flat wigeon
#

Regarding the velocity I'm not really sure how to handle this yet

quick bough
#

on_tick:
velocity = pos - prev_pos

flat wigeon
#

Well it's not so simple

#

It needs to be practical

quick bough
#

or just measure the time between first non-0 value reported and "full" value reported

#

that should be a pretty consistent way to determine if a key is going down fast or slow

flat wigeon
#

Basically I don't want a short/long press

#

But press depth alone feels unreliable

quick bough
#

How so?

flat wigeon
#

How precise do you reach a certain depth and not more?

quick bough
#

With stock keys, not at all probably

minor flint
quick bough
#

I mean, you'll notice from the linker errors

#

It depends somewhat on your development setup, so which system libraries are already included by default

#

and the Wooting guys didn't even realise that you need a .lib for both the static library and the DLL, so... don't expect an insane amount of foresight on that front 😄

flat wigeon
#

advapi32.lib is unnecessary since it's linked in per default

quick bough
#

I should mention when I collected those headers I was not using VS and instead basically invoking clang myself, and I only pass -luser32 -lgdi32 by default

#

Nowadays I do prefer #pragma comment(lib, ...) over the linker flag tho since it's more organised

#

Yeah, seems like VS includes these here by default

regal fractal
#

How can I change Keyboard profile without starting the software or website?

balmy iron
#

Press the A1, A2, A3, or mode keys. Check your keyboard mapping for what they are

merry olive
#

hey does anyone know of a programmatic way of changing key(code) mapping? some code examples or reference will be appreciated. i cannot find any "ioctl" or "write" to devices in wooting's github repos

#

so i want to assign a key to a special command (i.e. sending some web requests) not using macros. my plan is to assign the key to some reserved keycode and intercept on the hid level

quick bough
#

You will have to reverse-engineer the Wootility

#

So I can already tell you you won't be able to assign custom keycodes

#

but you can use niche ones like F13-F15

merry olive
merry olive
#

i don't think it's a standard keycode?

#

😄will know soon

quick bough
#

That's a keycode that doesn't have to be sent to the OS, it can be handled directly in the firmware

merry olive
#

yeah i mean no special driver is installed, so how?

quick bough
# merry olive 😄will know soon

It will depend also on your firmware version I think. Be careful, you might need to factory reset the keyboard when messing with this raw stuff.

quick bough
merry olive
#

it also sends something to the os while, say, toggle between analog and digital

quick bough
#

I don't think it does

merry olive
quick bough
#

It might report that keycode to the analogue interface, but definitely not on the standard keyboard page

merry olive
#

this is something i got when pressed D1

quick bough
#

Yeah, that looks like an analogue report

merry olive
#

i see

quick bough
#

You can use the analogue SDK to read those reports, which would include these custom keys

merry olive
#

the sdk does not map all keys so i guess i'll need to figure out how to assign a key to send a special report

balmy iron
#

Wouldn't it be easier to just use bog standard keys and then exclusively open the device? Although this might be a neat trick that's only easy to do on Linux

quick bough
merry olive
quick bough
#

What exactly are you trying to accomplish anyway?

#

Because I can already tell you that you will not get custom keycodes

#

Given that you mentioned the UwU, I can only recommend using F13, F14 & F15

#

These are very, very unlikely to interfere with anything

#

And you can read them to cleanly tell what you're pressing on the UwU

merry olive
merry olive
# merry olive

so what i'm trying to do is to find out how to let my key send [4, 6]

#

or any uint16

quick bough
#

By default, it reports the raw HID codes that the keyboard reports

#

Without any remapping

merry olive
#

i know

quick bough
merry olive
#

have you tried?

quick bough
#

I'm gonna murder you Feel free to try it, and let me know what you find. 🙂

merry olive
#

of course. thanks for the help

quick bough
paper crow
#

Nice!

minor flint
#

I noticed that the SDK cuts values off at 10%. Is there a way to disable this and get all raw values?

Also the keys seem to be in the wrong place, scancode 0x10 (q) is at m, etc

quick bough
minor flint
#

It's just

while (true) {
  float q = wooting_analog_read_analog(0x10);
  std::cout << "Q: " << q;
  std::this_thread::sleep_for(std::chrono::milliseconds(1));
}

Changing polling rate doesn't seem to affect the values

quick bough
#

How do you init it?

#

Although, just double-checkig, 0x10 is indeed the HID scancode for 'm'

#

So, not sure what exactly made you think that it would be 'q'

minor flint
minor flint
quick bough
#

Oh hey, I recognise some of that code, haha

quiet root
quick bough
#

This is not correct for HID

#

This seems to be for PS/2

#

Which is an entirely unrelated/different standard

#

Tho one that seemingly Gage here also initially attempted to use

quiet root
#

crap they had usb hid codes in the table on page 10 at some point iirc

#

it was a nice comparison between ps2 and usb

quick bough
#

I mean, you can just google "HID scancode" and find some decent-ish resources

#

but I figure just for a quick idea of e.g. "which button is Q", the actual standard works fine 😄

quiet root
#

but thats the thing they are all just ok not super good

quiet root
quick bough
#

Of course, this is ignoring the fact that Wooting adds its own scancodes (at >0xFF) 😄

quiet root
quick bough
quiet root
#

im not entirely sure what digital 1 is

quick bough
quiet root
#

wut

#

did simon release them on GH?

quick bough
#

No, this is my own collection

quiet root
#

ah

#

well imma make a gist to keep track of it and update it

quick bough
#

banger

#
- `0x3B5` = Next Track
- `0x3B6` = Previous Track 
- `0x3B7` = Stop Media
- `0x3CD` = Play/Pause
- `0x403` = Profile 1
- `0x404` = Profile 2
- `0x405` = Profile 3
- `0x408` = Profile Switch
- `0x409` = Function Key (Fn)
quiet root
#

ill check next week what the new ones are and will update the gist accordingly (replaced the stuff up to)

#

the media keys should be standard

#

not from us

quick bough
#

I don't think it is lol

quiet root
#

well if they werent in the usb spec then the os wouldnt respond to them

quick bough
#

Yeah, I suppose, but I just don't see it in the spec

quiet root
#

i can inquire about that as well next week

quick bough
#

Well, there is this it seems cat_openmouth

#

Tho unclear where the 3 comes from

quiet root
#

wonder if its to do with usage pages

quick bough
#

possibly

#

Yeah, I guess it's 0xB5 sent on usage page 0x0C

#

whereas usage page 0x07 would be for "normal" keys

quiet root
#

yeah i guess simon uses 0x3YY to be on 0x0C usage page

#

and 0x4YY is custom codes

quick bough
#

I tried studying QMK a bit but I did not get much of an understanding of the "talking to the PC" part lol

quiet root
#

yeah our hid descriptors are also a mess and cause issues with some KVMs and BIOS/UEFIs

#

theres a fix in testing for this but its pretty complicated to get right

quick bough
#

I thought that [the KVM issue] was just your keyboards drawing too much power cat_seenoevil

quiet root
#

no some kvms have it work but only once the OS is booted

#

theres some quirks in USB due to the 6KRO boot interface

#

this has its own set of rules so BIOS didnt have to have a full USB HID implementation

quick bough
#

lol, just mindlessly scrolling this spec

quiet root
#

yeah

#

the spec has some odd stuff

#

im glad we have someone dedicated to fixing usb descriptors for example and researching/fixing odd quircks in the firmware

quick bough
#

you what cat_sob

quiet root
#

we have a person just for these kind of things

#

they also made the XLAT firmware compatible with keyboards not just mice

quick bough
#

ah, nice

#

I am somewhat hyped for the Finalmouse Centerpiece, but I guess "coming soon" is like dad returning with the milk at this point

#

or Wooting releasing a TKL troll240p

quiet root
#

i mean 80he is tkl

quick bough
quiet root
#

so is 60%

quick bough
#

Yeah, I actually have a TKL by Wooting

#

but it only has 3 buttons

quick bough
#

I mean ngl I can appreciate designs like the DrunkDeer A75

#

but it's also really hard to get used to typing on this if you're used to a "normal" keyboard

quiet root
#

id say the worse thing is keycap compatibility

quick bough
#

How so?

quiet root
#

gl finding those homecluster keys in the row heights they use

quick bough
#

uhh, I mean, they look like normal keys to me, idk

quiet root
#

yes but the profile is different

quick bough
#

the most "modding" I will do on my keyboard is compile QMK from source and flash it 😄

quiet root
#

most keycap sets use profiles keys so they arent all exactly the same

#

the fudge happened

quick bough
#

man had a key-stroke

quiet root
#

you can see some profiles are uniform but most are "sculpted" so you can just use R2 keys on R3

#

itll look and feel weird

quick bough
#

you say "uniform" even tho the space is clearly different in shape troll240p

quiet root
#

yeah uniform refers to anything RX not space row

quick bough
#

but yeah I see what you mean

#

just saying I can appreciate the design, not saying it's practical 🙂

#

it might be more practical if they would put Lekker Switches in it 😛

quiet root
#

well then imma dip and go do irl things

quick bough
#

have fun

minor flint
quick bough
#

This is the number you're seeing

#

With my Two HE, the lowest it will report raw is 5

#

might be a calibration thing

#

also depends on the key

#

I figure they calibrate it at the factory. And they don't give you any option to do it yourself.

#

Which is fair enough because no one wants to do that

quick bough
#

So, it's more like 0x300 | (scancode % 0x100) for usage page 0x0C

#

or & 0xff instead of % 0x100 😛

quick bough
sturdy aurora
#

]

minor flint
#

[

dusk helm
#

I found out that the wooting 80 HE still send US key Code I use the kanata project for keymapping and I use the Interception version which means it intercepts the keys before windows can even translate to german keystrokes just want to put the text here when other non US developer get the same problem

quiet root
#

wha

#

keyboards dont send different keycodes because they are iso or ansi or a specific iso language

#

the reason windows/linux whatever translates is cause they all send the exact same data

dusk helm
# quiet root keyboards dont send different keycodes because they are iso or ansi or a specifi...

yes this true what I found it out now but some project tell you need a completly different configuration when you use ISO layout https://github.com/jtroo/kanata/blob/main/docs/locales.adoc https://github.com/jtroo/kanata/blob/main/docs/config.adoc#deflocalkeys and for people that develop but got into keyboard development dont know that from the beginning thats why I send this message

GitHub

Improve keyboard comfort and usability with advanced customization - jtroo/kanata

sly crown
#

@quick bough FYI: analogsense does not work in Cyberpunk, if you have Cyber Engine Tweaks installed (which is basically a cornerstone of cp modding). Dunno if you want to do something about it, just thought I'll let you know

tame spire
#

I have one usecase for wooting that's giga niche but I have no clue if anyone made something like this or not

#

so basically, yk how pens (on graphic tablets) can have pressure that affects the brush? (Higher pressure = Bigger dot just like with a real brush)

#

I really want to convert HE switches' depth-meter into pen-pressure, so the art program reads my key input as the pressure

#

mostly want it so I can draw with my mouse with my right hand; whilst using my left hand to control the pressure

fading python
#

Hey everyone. Anyone happen to know what kind of firmware the Wooting keyboards use?

quick bough
quiet root
#

its not a modified qmk or such

#

and its closed source (just in case the next question is about source code availability)

quick bough
#

The 80HE is confusing me so much

strong siren
#

what about it

quick bough
#

The default layout for JIS has "Int 1" and "Int 3"?

#

and there's no analogue SDK or RGB SDK update available for it yet afaict

#

Also, the profile indicator is divded into 5 sections?

#

but it only has 4 on-board profiles?!

quiet root
#

have you tried dividing 10 into 4 and get a nice even interger result

#

no overlaps

quick bough
#

have you heard of blending?

#

you can take 2 colours

#

get a new colour

#

by interpolating

#

dedicated IME keys is cool af tho

quiet root
#

then in 2.5 increments

quick bough
#

Sounds good

#

but yeah the key mapping is really confusing because I have a "Kana" keycap but no "Kana" option in Wootility, and a few others like this

quiet root
quick bough
#

just make a ticket on your jira bigbrain

#

haha, the key press indicator does use blending to display more than 10 steps

#

firmware bug: deleting light indicator effect on profile 1 does not black out the light

quiet root
#

same thread

#

this channel is for people making stuff for our keyboards not really reporting bugs of wootility or the firmware

quick bough
#

okay, I'm reporting the bugs there for someone else to read it, I guess 🙂

quiet root
#

yes the people actually fixing those 2 things

quick bough
#

well, from a "community dev" perspective, there is nothing to say about the 80 HE

quick bough
# quick bough

it seems both int 1 and int 3 are reported as 135 / 0x87, that's probably also not intended like that?

#

Int 3 should be 137 from what I can gather from the USB standard, guess I'm also reporting that

#

tho unsure if my Windows configuration is incorrect or if these keys are not reported to the OS normally at all

quick bough
serene harness
#

Wootverlay is not working on 80HE

#

no registration

#

can we get an update for that?

for personal requests i would also like 1ms update and for "instant transitions" to not be off by default (every time i open OBS i have to interact with browser source, go into the menu and turn it on)

quiet root
#

the sdks arent updated as we wanna finish up firmware and wootility first

quick bough
#

Honestly I don't get why they didn't just add their VID and called it a day

#

Product name can be gathered via HID

#

That's what I do anyway ¯_(ツ)_/¯

quick bough
quick bough
#

Wowie, my PR being merged? On the same day, no less?! pikacho

placid ledge
#

rko out of nowhere

#

Need to find some time to properly go through the rest, but seen this one pop-up and it was easy enough to get it sorted

quick bough
#

Now you just need to make a new analogue SDK release and you can call it a day for the 80HE 😛

rich tulip
rich tulip
quick bough
#

The only noteworthy thing would be if it reported positions instead of scancodes but that would be firmware-side

quiet root
#

analog sdk isnt analog monitor

rich tulip
quiet root
#

uneducated in a topic doesnt make one dumb

rich tulip
#

Actually, I just didnt read his response fully and assumed lol

#

Mainly because I saw Simon respond and I blew up his DM and hadn't heard back so I got eager 😁

quick bough
#

tbf analogue SDK is extremely niche, no one really uses it afaict

#

well, I guess Woot-verlay exists

#

but, like, games or other interactive media... not so much

rocky wharf
#

Sadly, it is surely a great addition

quick bough
#

I mean, it's a bit of a balance to make sure the input is not too drastically different I guess

#

so, you probably don't want just a linear curve

#

I've been working on getting analogue support for keyboards from Razer (Huntsman series), DrunkDeer, and some other brands

#

but I think the hype for it has kinda passed and it's unsure if it's even an issue of lack of hardware access for game developers or more just them not believing it's sufficiently worth it

rocky wharf
#

Once more keyboard manufacturer adopt to HE Keyboards, it will become more important i think. I personally think that this is slowly starting as i see more and more named gaming product manufacturer producing HE keyboards.

quick bough
#

Well, from where I am standing, I'm not seeing a huge amount of interest in HE specifically, certainly not much interest in analogue input...

#

SOCD was the latest hype train, and no one even cared about the analogue aspect of it

#

Obviously, in terms of implementation, it's much more solid when you do have analogue keys, but that doesn't change how people perceive these things

quick bough
rocky wharf
#

Acutall so much untapped potential

quick bough
#

Keychron is an interesting case because their firmware is open-source so I managed to compile it myself with a very nice analogue interface, but imagine trying to tell someone who wants to play your game to first flash custom firmware on their keyboard bigbrain

rocky wharf
#

Actually, i also see potential for Wootomation to use something similar to DKS.

quick bough
#

At this point I do just have like 15 analogue keyboards lying around here kms

rocky wharf
#

The 80HE i've ordered is the first one to be honest

quick bough
#

Damn

#

tbh it does look like a solid keyboard with the right key mappings

#

so I guess I see why they might not want to make a TKL

#

but I personally still need my numpad for the dedicated menuing keys 😛

rocky wharf
#

What i'm happy about is that most of there open source stuff is written in Rust as i fell in love with the language. Originally i was coding C# for a while.
And i tend to code a lot of stuff for my devices, ...
So being able to have a SDK is amazing.

quick bough
#

I code most of my stuff in C++ cat_weary

rocky wharf
#

I needed to use it for my Operating System Module at the university and i've used C for the FlipperZero ^^ C++ is not one of my favorites, and python is on the bottom list just for its syntax xD

serene harness
quick bough
#

Yeah, I think that's kinda related to what I was saying with SOCD

serene harness
#

The top post on PCMR today (probably the largest casual PC gamer subreddit) was people raging at this

#

because obviously this doesn't exist and the developer is an idiot

#

and people talking about hall effect analog boards etc were not even in the top 3 comments

#

and they are yet still a level closer to us than the general PC user crowd

#

it will take a lot to really raise awareness

#

i asked some friends about putting analog support in their indie game - we need to show off the cool stuff that you can do. A guy modded KSP to use analog input alongside digital commands seamlessly without much work.

strong siren
#

Honestly I personally don't think it's very easy to use. Might just be skill issue but every time I tried to get used to analog movement I found it very difficult

rocky wharf
#

Well we were used to either press it or not for a lot of years, getting used to fine grained input with keyboards will take a while i guess.

#

Probably muscle memory related

quick bough
#

Well, for me the 2nd comment talks about it, and it seems people are generally enthusiastic about it?

#

Tho the real crime is that no one mentions the analogue SDK that game developers could use to add it to their own games

#

but that's like asking an average person to know the Windows API

#

This is actually a really good feature and I think games would have to implement something like this into their games because a linear curve is not exactly desirable

#

(funny thing to note in this regard is that the default state of this curve is seemingly not a preset)

rocky wharf
#

I mean, most games with first/third person character movement and controller input have the ability to adjust the walkspeed based on how far you go with the joystick.
That's the simplest case where using such sdk would be great.

serene harness
# strong siren Honestly I personally don't think it's very easy to use. Might just be skill iss...

The hardest thing for me is unlearning the compensatory mechanisms that i trained myself to do for digital controls. E.g. to apply a 60% input, approximately, i will tap the key on and off and on and off at a rapid rate, trying to average around 60%. Of course it's much easier and smoother with analog, better flight results, but i have to apply conscious effort to not do the stupid digital thing.

amber juniper
#

Hey i'm using a wooting 80HE and love to code. Is it possible for me to add some form of functionality regarding "SOCD"? what i want to implement is some sort of offset. meaning, if [KeyA] is pressed [KeyB] should deactivate, but after a certain amount of ms setup via the offset. further more maybe even add some variability to the offset.

I saw some possibilities of creating plugins (for 60HE), but maybe i am mistaken.

quiet root
#

we have the analog sdk and rgb sdk but what you suggested would basically be just any old macro via AHK or such

quick bough
amber juniper
#

@quick bough @quiet root 1696paimonthink thank you! I gonna take a look at this

quick bough
#

I doubt anyone did

#

but I guess you could with some reverse-engineering zanychamp

#

or if there's an open-source program...

#

also for some reason I thought Wooting were gonna release a mouse next and was gonna say you should wait for that... cat_dizzy

#

idk if HE buttons on a mouse would be that good LUL

frail wedge
#

<@&182822816075218944> Can i Have help traking my order

#

or @quiet root

#

<@&490097707487330305>

jagged echo
sly crown
quick bough
#

Oh, it doesn't show that in release builds, does it

#

I'm sure I'll get to it at some point in the future

#

Just think in terms of Rust developer speed, not C++ developer speed, haha

quick bough
strong siren
#

The analog thing must be awesome with that mod that adds flying cars

#

Double cool because that mode was made by the same guy that created qmk iirc

quick bough
#

Yeah, I'm actually unsure now. At first my ASI mod was being loaded but it crashed, and now it's just not being loaded with CET.

#

I guess just do what I did and use a DLL injector like Xenos to get it to swallow the damn mod. 😄

strong siren
#

The game uses razers chroma animation file format internally for the razer chroma effects

quick bough
#

Without CET it gets loaded, so idk

strong siren
#

Technically if you manually change them, convert to base 64 and embed them into the database thing with wolvenkit you can change them :D

strong siren
quick bough
#

Oh wait, there's a version.dll here

#

No shit they use the same ASI loader

#

That might explain it

#

They use the same ASI loader but with a different config

#

Yeah, okay, so, @sly crown the fix is to simply put the AnalogSense.asi into the "plugins" folder created by CET and discarding the dinput8.dll (CET uses version.dll)

#

I guess I could use the same config as them, but that's not typically how ASI mods are used in GTA V cat_unamused

unborn summit
#

hi (not a software engineer)
is there a programmatic way to trigger change of keyboard profile? ie without having to click things in wootility; something CLI triggered so can be fired via {some automation, out of scope}

quick bough
# unborn summit https://github.com/ShayBox/Wooting-Profile-Switcher is very close, if i was a ru...

idk if C++ is more your flavour, but this would be the only thing needed for that:

static void sendProfileSwitchToHardware(uint8_t profile)
{
    for (auto& _kbd : kbRgb::getAll(false))
    {
        if (_kbd->isWooting())
        {
            auto kbd = _kbd->asWooting();
            if (!kbd->isUwu())
            {
                std::cout << "Sending report to " << kbd->name << "...";
                {
                    Buffer buf(8);
                    buf.push_back(/* 0 */ 0); // HID report index
                    buf.push_back(/* 1 */ 0xD0); // Magic word
                    buf.push_back(/* 2 */ 0xDA); // Magic word
                    buf.push_back(/* 3 */ (uint8_t)WootingCommand::ActivateProfile);
                    buf.push_back(/* 4 */ profile);
                    buf.push_back(/* 5 */ 0);
                    buf.push_back(/* 6 */ 0);
                    buf.push_back(/* 7 */ 0);
                    kbd->hid.sendFeatureReport(std::move(buf));
                }
                SOUP_UNUSED(kbd->hid.receiveReport());
                std::cout << " Success.\n";
            }
        }
    }
}
#

Oops, just realised one thing missing here: ActivateProfile = 23

#

Also feel free to ignore the conditions, you basically only need to find a HID with vendor ID 0x31E3 and usage page 0x1337

restive yew
#
An unexpected error occured, please let us know about this through discord or email

TypeError: Cannot read properties of undefined (reading '5')
    at https://v5.wootility.io/assets/index-f86de06b.js:563:14114
    at Array.map (<anonymous>)
    at https://v5.wootility.io/assets/index-f86de06b.js:563:14104
    at useSelectorWithStoreAndSubscription (https://v5.wootility.io/assets/index-f86de06b.js:80:13138)
    at https://v5.wootility.io/assets/index-f86de06b.js:84:688
    at useWootSelector (https://v5.wootility.io/assets/index-f86de06b.js:84:1391)
    at useRemapActiveKey (https://v5.wootility.io/assets/index-f86de06b.js:729:18999)
    at RemapKeyboardKey (https://v5.wootility.io/assets/index-f86de06b.js:740:30000)
    at Nh (https://v5.wootility.io/assets/index-f86de06b.js:38:18930)
    at Vk (https://v5.wootility.io/assets/index-f86de06b.js:40:48722)
    at Uk (https://v5.wootility.io/assets/index-f86de06b.js:40:43974)
    at Tk (https://v5.wootility.io/assets/index-f86de06b.js:40:43897)
    at Ik (https://v5.wootility.io/assets/index-f86de06b.js:40:43738)
    at Nk (https://v5.wootility.io/assets/index-f86de06b.js:40:39691)
    at Ek (https://v5.wootility.io/assets/index-f86de06b.js:40:40591)
    at jg (https://v5.wootility.io/assets/index-f86de06b.js:38:3534)
    at https://v5.wootility.io/assets/index-f86de06b.js:40:37832
Reload the Wootility
serene harness
#

it combines analog and digital KB inputs depending on context

flat wigeon
#

Well makes sense that way. Otherwise I would need to handle the pressure point manually

quiet root
quick bough
flat wigeon
#

I really believe for analog keyboard input to lift off, it needs an input model, where this comes more or less for free. Like: You want overhead car control? Here take this example, it will map nicely to keyboard, analog keyboards, gamepads, steering wheels and can be mapped to other devices you don't even know

quick bough
#

Maybe I should have to buy myself a steering wheel and pedals, parse the HID input descriptors to generalise, and then make an input library that nobody will use. 😄

balmy iron
#

Yeah, well game engines already do tend to treat all inputs as analog so we'd just need a standard way of having the OS provide analog key inputs.. or a library everyone uses

quick bough
quick bough
flat wigeon
#

Well... you need the Steering Wheel itself, you need force feedback and this can go quite hard, then you have pedals, the shifter

#

Also probably small production batches

quick bough
#

yeah but I mean you can get all that for 50 euros

#

meanwhile logitech sells it for 200-300 euros

flat wigeon
#

Not sure about that. You probably pay extra for the PS Logo and for it being from Logitech ^^

#

Maybe the force feedback motor is expensive

#

twin engine force feedback

#

I considered buying one too, but I'm undecisive considering the price point and the fact that there are many possible configurations

rocky wharf
flat wigeon
#

Every time I read this, I'm amazed what in theory is included in the standard

#

Imagine the chassis of your PC as an USB device

serene harness
#

do we have any approx timeline for 80HE support in the SDK?

quick bough
#

I already PR'd it for the analogue SDK, just a matter of when it gets released I guess

#

but yeah I guess now they're busy rewriting they Wootility 🙂

#

I hate this company so much sometimes, it just makes me scream internally how they can't stop shooting themselves in the foot because they keep making the wrong decisions and focus on the wrong things

quick bough
#

Sure, never said it was anything but. 😛

strong siren
#

classic sainan moment

quick bough
#

What are you doing now at Wooting btw?

#

If I had to assign you, I'd say you were best fit to work on the upcoming desktop app. 😛

strong siren
#

i wrote the two new rgb effects we added with wootility v5 for example :p

quick bough
#

they let you near the secret sauce firmware, damn cutegiggle

#

Although yeah the noise effect definitely reminds of artemis

strong siren
#

yeah that's basically where it's from

#

a faster (and sadly crappier) version that runs okay ish on the mcu

quick bough
#

How is the noise generated? LCG?

strong siren
#

it's simplex noise if you're curious

quick bough
#

I'm guessing that's the algorithm you use to map a "1-dimensional" rand function to the 2-dimensional plane of the keyboard, but not actually what I asked

strong siren
#

i generate 3d noise and map it to 2d for the keyboard actually

quick bough
#

...wtf

#

I thought it has to run well on the small CPU

strong siren
#

i'm sure you're cooking up a much beter implementation using the rgb sdk already

quick bough
#

haha, no, my idea of a much better implementation is just a static colour, no distraction in that 😛

#

Plus, idk if they ever fixed that bug where the firmware would just ignore RGB commands until the keyboard is replugged

#

kinda stopped bothering with it then, not very cash money when I have to replug my keyboard while playing Warframe or something

flat wigeon
#

Sainan: "[...] focus on the wrong things"
diogotr7: "[...] two new rgb effects [...]"
lol

quick bough
#

Well, I'd be happy if my subordinates just delivered anything of value to the product, but yeah, certainly not what I would have them focus on.

earnest tulip
#

Anyone know where I can get some cool keycaps

quick bough
#

Well, you have come to the right place, this is the #cool_keycaps_marketplace channel

#

Oh wait, it's not

#

Have you tried wooting.io? I hear they sell keyboards, even some accessories for those keyboards 😛

#

Honestly I kinda like the wave keycaps, but once again they're discriminating against us 100%ers

gritty lake
#

do note that keycaps from these vendors tends to be pricy

quick bough
#

hmm, the keyboard keyboard vendor list, so you can find a keyboard for your keyboard?

gritty lake
#

otherwise just find a decent doubleshot pbt one from aliexpress

gritty lake
#

it list what each vendor sells

#

like so

quick bough
#

are all keycaps compatible with all switches?

gritty lake
#

just check for mx compatible keycaps

#

and mx stems switches

#

which is the plus shape thing

clear flint
#

hey gamers, is there a way to write modified rgb to a profile with the rgb sdk? i managed to write one profile's rgb onto another, but haven't found how to save rgb that has been set via the sdk
like, this code here will set my D key to green, but once the program closes it goes back to the color it was before

#

also, what's the difference between commands and reports? (from wootility verbose logs)
i'd think reports are data from kb -> pc but that's not what it seems like in the javascript

strong siren
#

What is your goal with this?

clear jay
#

买了wooting还在制作中,如何申请退款?

paper crow
quick bough
quick bough
clear flint
# strong siren What is your goal with this?

making a tool to set the base rgb to a gradient. i'd rather not keep the program open 24/7.
if there's a way to set and save rgb with javascript on the wootility page, that'd be fine too.

winged bolt
#

will there be a 8k hz refresh of the 60he? If there are plans on it, I think it would be really cool to update the pcb so it can support gummy oring mount

flat wigeon
flat wigeon
#

This minified stuff reads like crap

#

Why is there an extra command to get the serial number?

quick bough
#

urg, my table is like a mm too thiccc for the G29

quick bough
#

It seems it's not properly supported in Motorfest nor FH5, so I tried installing G Hub and it seemingly doesn't stop loading derp

strong siren
#

sounds like GHUB alright

quick bough
#

it finally loaded after 10 years

#

it was very important to ask me for my discord, my email, and my firstborn

#

seems that opening G Hub made it magically work in Motorfest

#

I absolutely hate this control scheme

clear flint
#

huge shoutout to friend from another server. they did 90% of the work and had a really smart solution to hijack the javascript functions.

#

will give the script a nicer ux and post soon

flat wigeon
clear flint
#

only thing i could get save command through sdk to do was overwrite one profile's rgb with the active profile's unmodified rgb

quick bough
#

Oh hey, I didn't know they had a talk about the Wooting Analog SDK

full current
#

How hard would it be to integrate the analog inputs to something like FL studio

#

Like the further I press down a key, the higher a modulation slider for a synth goes

#

(Is this the right channel for this question?)

quick bough
full current
#

I see

clear flint
#

couple of examples

quiet root
#

you could also write a tool that fetches a profile from the share code, modifies the rgb and then reuploads it.

quick bough
#

I'm a bit disappointed that there's seemingly no extension to provide WebHID on Firefox

#

I'm just switching away from Chrome now because it seems they're serious about killing a vast majority of their extensions ecosystem out of sheer stupidity

quiet root
quick bough
#

I guess 'stupidity' works?

#

but I think I missed a memo, when did the r word become bad?

quiet root
#

also its been used as a derogatory slang for ages at this point

quick bough
#

Well, yeah, I'm clearly not praising Google in my message

quiet root
#

which is fine but no need to use that specific word

quick bough
#

Is the f word still okay? What about the s word?

quiet root
#

if you mean a word commonly replaced with fudge and the one starting with shi then yes

#

while i personally dislike them in my own vocabulary they arent anything bad

quick bough
#

Okay, so it's not a matter of this server trying to be PG

flat wigeon
#

R*** is now a bad word?

quick bough
#

I guess social sentiment around the r word has just shifted to make it closer to the n word?

quick bough
#

^ put this message in google to find the wikipedia article dedicated to the word, lol

flat wigeon
#

Ah, the longer r word

quick bough
#

Now I'm confused as to what r word you meant

flat wigeon
#

The 4 letter r word

quick bough
#

Is it a crime?

flat wigeon
#

You know... what you are regularly complaining about

quick bough
#

No, I don't follow

quiet root
#

i assume rust

karmic forum
#

Nooo

quick bough
karmic forum
#

Rust is the future

#

I love rust

quick bough
#

I agree, we should ban people like Mr.Ender for using that R word in that way troll240p

karmic forum
flat wigeon
#

I'm not native english speaking, so that was the first word beginning with r that came to my mind 😄

quick bough
#

Nah it's okay, one of these days you will try C++ and never look back

quick bough
karmic forum
#

Im still waiting for C+++ before trying anything

flat wigeon
#

The latter has 5 letters ^^

karmic forum
#

||this is a joke||

quick bough
#

I'm waiting for C++ ||code to compile||

karmic forum
#

You think thats bad try compiling rust

flat wigeon
karmic forum
#

I love rust but like it takes forever

#

To compile

quick bough
flat wigeon
quick bough
#

Imagine compiling your websites laughpoint

#

(I still write HTML, CSS, and JavaScript.)

flat wigeon
#

In the meantime I press F7 for my C++ projects and wait a few seconds

quick bough
#

I press Ctrl+B cat_relaxed

flat wigeon
#

Also funny is .Net

#

It compiles so super fast... yay

#

Try AOT compilation...

quick bough
#

but then you get bytecode, no?

flat wigeon
#

Sure

#

Of course it compiles fast if you skip half of the process

quick bough
#

A lot easier to emit bytecode than (optimised) x86 assembly lol

#

When I made a toy compiler, I basically just turned x86 into a stack machine, which is pretty meh for performance, but still better than a bytecode-parsing VM, I guess

flat wigeon
#

But start your service... send a request thumbweed thumbweed thumbweed response

#

And AOT compilation in .Net is not only slow, it is incredibly slow

quick bough
flat wigeon
#

Never waited that long for C++... except maybe for Firefox to compile

#

Really I should compare everything to a firefox build

#

How can a simple application take as long to compile as a full fledged browser

quick bough
#

Which .NET version are you using btw?

#

I'm still firmly on 4.5 because everything after that just seems like shit. It's not even pre-installed on Windows anymore. cat_skull

flat wigeon
#

Well AOT was... I guess .Net 5/6

#

Currently on .Net 8 but AOT compilation doesn't work anymore

quick bough
#

I guess you like your executables to be big 😄

flat wigeon
#

With AOT compilation that would actually not be too bad, since it can trim dead code. At least in theory

quick bough
#

Well, I have no idea about .NET AOT compilation tbh

flat wigeon
#

Ahead Of Time compilation like C++

quick bough
#

I just know that after .NET 4.5 it's turned to shit and the executable sizes have balooned

#

ik

flat wigeon
#

You get a native binary

quick bough
#

Well, that's some good progress, I suppose ifeelok

quick bough
#

Whoo, a basic thing is working

quick bough
#

Well, the Wootility is not happy no matter what I do

quick bough
#

I guess what should happen when you filter by usage or usagePage is that you get a HIDDevice with only the matching collection? At least that's what I gather from reading this horrible obfuscated JS.

clear flint
#

wooting give sourcemap pls

quick bough
#

I actually hate this API. It's so simple yet designed in such a counter-intuitive way. It just does not map cleanly to the underlying OS primitives.

#

Or maybe I'm overcomplicating it. derp

#

Well, that's some progress

clear flint
#

are you using js overrides to get logs

quick bough
#

This is Firefox

clear flint
#

ye firefox has overrides

quick bough
#

Do you know what Firefox doesn't have?

clear flint
#

other than webhid, no

quick bough
#

Exactly 🙂

clear flint
#

how are you getting console logs into the wootility script tho

quick bough
#

It just logs stuff by itself?

clear flint
#

o, thought those looked different than the ones i've seen. ig not

quick bough
#

some logs are my own

#

from my WebHID implementation

clear flint
#

ic

quick bough
#

Okay, it works a bit more now. Can't change RGB, tho 😦

#

Uhh idk if this is a Firefox bug or a Wootility bug lol

serene lynx
#

A!

quick bough
#

Well, it works decently-ish, but it seems RGB changes are still not commited correctly

#

Gonna try the firmware update feature now so I can RMA this board troll240p

quick bough
#

oh, wait, I'm on the fancy new firmware with bigger report sizes, but wootility doesn't seem to realise this

#

Okay, it RGBs now!

#

Still kinda afraid to do a firmware update tho haha

quick bough
#

Wait, but how is it that Wootility V5 is able to access the analogue data without ever asking for it?

#

Oh, I guess it's that while requestDevice respects the filter strictly, when you then do getDevices it shows everything for the same physical device without respect to usage and usagePage.

#

These are some weird semantics ngl

quick bough
#

Insane security mechanism

#

but I'm also gonna block all FIDO keys and shit and that should be fine cat_seenoevil

quick bough
#

Actuation point thingy is working cat_relaxed

quick bough
#

Still some TODOs there, but it works alright

sweet peak
#

is it a plugin with a server component?

strong siren
#

that's what it looks like, pretty cool

quick bough
#

Yeah, there's a server that you need to run seperately

#

Not gonna get much better in that regard unless Mozilla add native support for WebHID in some capacity

quick bough
#

Whoo, extension published on AMO

quick bough
#

I'm still a bit unsure if this is a good idea

#

Worst case scenario, I can use the "troubleshooting" thing in Chrome, right?

#

I'm just unsure if a borked firmware update might turn it into a brickboard

quick bough
#

Scary, tho

#

Trying to set my profiles up again, it seems it sometimes takes too long to respond on Firefox?

paper crow
#

You cannot use Wootility web on Firefox, as it's not possible to communicate to USB devices

strong siren
quick bough
#

I'm switching to Firefox so I had to add WebHID support myself lol

mental bluff
halcyon zephyr
mental bluff
halcyon zephyr
#

What channel is it

#

I been trying to look for it

halcyon zephyr
paper crow
halcyon zephyr
#

How long does it take for them to reply back

mental bluff
quick bough
#

Damn, this goes hard!!

#

Welp, guess I'm trying Woot-verlay

#

don't know how to get that thingy to render

#

Welp, guess I should've figured that Wine wasn't gonna discover the .so

#

Dire situation for analogue input on Linux

#

I feel like something's missing here derp

#

Welp, I guess Microsoft Java is less cross-platform than I had foolishly believed

quiet root
#

no its because its winforms

#

the sdk itself is pretty crossplatform but winforms isnt

quick bough
#

I mean from what I understand it should just be a WS server

#

but idk maybe bad code

strong siren
#

a ws server wrapped in forms is still forms KEKW

quick bough
#

So, given that wooting-analog-midi doesn't render or play sound on Linux, and Woot-verlay doesn't run, how am I to test if an SDK plugin works on Linux?

strong siren
#

artemis maybe? i havent tested the analog sdk on linux so it's possible that it's broken

#

the rgb sdk should work

#

i feel like artemis is kind of overkill for this, is there nothing else that targets the analog sdk?

quick bough
#

Also I only just realised this guy implemented WebSocket from scratch, sheesh

strong siren
#

sheesh

balmy iron
#

Nice

strong siren
#

that one should come preinstalled

balmy iron
#

Dunno, I just downloaded the analog midi appimage and it just works on my system x d

quick bough
#

The only Wooting thing I see is this here in the install wizard

#

and Artemis just crashed when I toggled "enable feature"

strong siren
quick bough
balmy iron
#

No

quick bough
#

what

#

can I dpkg -i an appimage

balmy iron
#

No you just run it like any other binary

quick bough
#

do I need to uninstall the .deb first?

balmy iron
#

No

quick bough
strong siren
#

have you never used appimages before?

#

they're pretty cool

quick bough
#

Clearly not

quiet root
#

basically exe files but linux

strong siren
#

and one of the reasons i really dislike linux for desktop (well not the appimages themselves, just the fact that they need to exist)

#

yeah

quick bough
#

Can't you just statically link an executable

strong siren
#

tell that to distro maintainers

balmy iron
#

You can, indeed this is what all Rust things do and is why they are so chonky

quick bough
#

Well, okay, it seems that works

#

Curious as to why the .deb doesn't work then

quiet root
#

have you tried googling the error message

quick bough
#

What error message

quiet root
#

the one labelled error

quick bough
#

That was because I disconnected the device

#

I had to give it back to Windows to write the message derp

#

Also "hidapi error: Success" 👌

strong siren
#

lmao

balmy iron
#

A classic case of either forgetting to stash errno, or maybe just assuming a 0 read is a failure when it might not be considered so by the API

quick bough
#

I think for HID a 0 read is a failure/disconnection

balmy iron
#

Dunno, would have to look at the code to see why it be like that

quick bough
#

When we getting ABI v2 so I don't have to link against a Rust blob

#

Seems like my plugin works 😄

#

tho I still don't hear any sounds from it

#

might just be that Linux doesn't have a synthesiser built-in like Windows

balmy iron
#

Linux systems generally don't have a default midi synth just waiting, so you'll have to run one yourself

quick bough
#

This is why I paid 200 EUR for my Windows 10 Pro licence cat_triumph

#

Welp, at least the linking is rather simple on Linux

#

Might still have to look into HID report ids stuff for Razer keyboards

#

Oh right, I just remembered that Synapse doesn't exist on Linux

jovial bane
quick bough
#

Man, just got another analogue keyboard. The firmware has an analogue interface, but it only says how far a key is being pressed, not which key is being pressed kms

#

Guess I'll look into Razer on Linux stuff, tho already not a good start when they don't support the Huntsman V3 series

balmy iron
#

Clearly you just have to guess the key based on normal key events! But wait, what if more than one key is down at the same time..

quick bough
#

Yeah... unfortunately this firmware is unsupportable for me

#

What's most interesting to me is that the reports are 1:1 with those of another vendor, tho the firmware behaves a bit differently

#

but that's what I get with China crap cat_bread

#

Ah man, Linux is funny. Can issue shutdown 0 as a normal user, but gotta be SU for reboot 0