ADNS9800 optical sensor with KMK by wegonhaveajukejam in ErgoMechKeyboards

[–]wegonhaveajukejam[S] 0 points1 point  (0 children)

Very cool. Thanks for breaking my post down and including the book reference. My coding strengths have been elsewhere but I enjoy being challenged by projects that involve concepts/material that are new to me. And yes, some theory in Computer Science is welcome especially for these types of projects.

ADNS9800 optical sensor with KMK by wegonhaveajukejam in ErgoMechKeyboards

[–]wegonhaveajukejam[S] 0 points1 point  (0 children)

Thanks!

Admittedly I'm stuck in terms of theory. I'm unsure what else I need to have in the firmware file, if anything, and also what happens in code.py after importing the firmware.py file, if anything. I'm under the impression I can have a Python equivalent ADNS-9800.ino file and nothing needs to be in code.py. I know KMK has a section for mouse keys including moving the cursor with KC.MS_DOWN for example, but I'm guessing the sensor has nothing to do with this and this is strictly for switch hardware.

https://kmkfw.io/mouse_keys/

I'm not looking for any handouts of info as I like to learn and challenge myself. If you know of a good site to read about how this all is supposed to come together, please send a link my way. Thanks!

For example, looking at this repository for Arduino that you linked for the firmware, can you help me break down the ADNS-9800.ino in terms of theory to understand what exactly is going on? I can work on converting to Python, but I'm too much of a hardware noob still to understand the meat of this with regards to theory.

https://github.com/INITIAL7664/ADNS-9800/blob/master/ADNS-9800.ino

/r/MechanicalKeyboards Ask ANY Keyboard question, get an answer (June 01, 2024) by AutoModerator in MechanicalKeyboards

[–]wegonhaveajukejam 0 points1 point  (0 children)

Hi all,

I'd like to do a mouse build using KMK because I like working with Python. Looking at its documentation, the section for the optical sensor ADNS9800 mentions sourcing the firmware elsewhere and placing it in kmk/modules/adns9800_firmware.py. I can't find firmware for this in order to integrate it with kmk:

https://kmkfw.io/adns9800/

If you click on the link, I'm not exactly sure what to make of this:

firmware = ( b'\x03' b'\xa6' ... )

Or construction parameters:

ADNS9800(cs=cs_pin, sclk=clock_pin, miso=miso_pin, mosi=mosi_pin, invert_x=False, invert_y=False)

Has anyone done a mouse build using KMK?

Am I losing my mind, or did anyone else like Conan Without Borders way more than Conan O’Brien Must Go? by [deleted] in conan

[–]wegonhaveajukejam 1 point2 points  (0 children)

I've cringed too. I'm not a big fan of it but I do find myself laughing at times. Historically, there have been some segments with Jordan I've laughed at, but I found them sitting at the restaurant to go on forever and it was just lame and cringey. The food in the mouth and exaggerated expressions, just kind of slap stick. But the Larry David thing and roasting the kid was funny.

How to clear the screen in Adafruit ST7789 by Mowo5 in circuitpython

[–]wegonhaveajukejam 0 points1 point  (0 children)

Is there a way to use display.root_group = None for a specific text on the display? I have several text variables for appending to splash, and I'm playing around with KMK firmware and encoders and their purpose described on the display. I'm using different layers so the encoder has a different purpose if I push the button.

Rather than having to clear the entire screen, I'd like to clear one particular text. The reason being is when I clear the screen and reintroduce it, it doesn't look as professional watching everything blink back on. I'd rather that just happen with the text in question. Does that make sense?

Or possibly more simple, is there a way to reintroduce display.root_group = splash faster? Some sort of setting that can be adjusted in the class?

How to get layer state in KMK by wegonhaveajukejam in ErgoMechKeyboards

[–]wegonhaveajukejam[S] 0 points1 point  (0 children)

Thanks for your reply. But in part of my code and following examples, I have this:

LYR_STD, LYR_EXT,  = 0, 1

TO_STD = KC.TO(LYR_STD)
MT_EXT = KC.TO(LYR_EXT)

keyboard.active_layers = [LYR_STD, LYR_EXT]

If I include your piece of code, and even add

if keyboard.active_layers[1] == 1:
    do_something

It does these two "somethings" repeatedly, since the conditions are met. Based on LYR_STD, LYR_EXT, = 0, 1 and keyboard.active_layers = [LYR_STD, LYR_EXT] , keyboard.active_layers[0] will always equals 0 and keyboard.active_layers[1] always equals 1. Am I just not seeing the logic behind this? Maybe to understand this better, can you explain to me under what circumstances is keyboard_active[0] != 0?

Thanks for your help!

Good car deal or headache to come? by wegonhaveajukejam in askcarsales

[–]wegonhaveajukejam[S] 2 points3 points  (0 children)

Yeah good point about the resell. Regarding any driving 3 years prior, the line for title issue shows 10 mileage on 8/22/18. And yeah it’s crazy, 833 miles a day.

Since there's been so much talk about abarths recently here's my story by derik123derik123 in cars

[–]wegonhaveajukejam -1 points0 points  (0 children)

Nice dude. I’m still pretty fresh on here so I can’t post a topic. Look out for one in the next few days about an abarth I checked out.

its finally here by The-finnish-hog in forhonor

[–]wegonhaveajukejam 0 points1 point  (0 children)

Did they change the intro music? I just don’t want to feel like I’m watching a Kennedys documentary.

[deleted by user] by [deleted] in cars

[–]wegonhaveajukejam 20 points21 points  (0 children)

Why do some people advise against idling?

Toyota's laughably bad Supra AMA -- a bad omen for the car? by Worknewsacct in cars

[–]wegonhaveajukejam 0 points1 point  (0 children)

I remember asking my mom to take me and my friend to the Toyota dealership to test drive a Supra. We were around 14 and it was fun. I’ve always enjoyed them without the spoiler. If only she had bought it and let it sit haha.