So it’s been a while. In short: making the program recognize the difference between several single-finger motions and one multi-finger motion turned out to be quite difficult. My code originally discarded a finger’s action history once it triggered an action, which worked when the fingers were being tested separately, but when tested together ended up making the program count the fingers one-by-one, triggering their actions, before discarding the history so they couldn’t be analyzed for whether or not all the gestures were actually together. I solved this by adding another gesture queue that opens the first time something is detected, stays open for a processing window, then closes after no further inputs are received. I also implemented a hand preference feature so the program can only use one hand rather than looking for both. It does work, however it still trips up when the wrong hand enters frame first, and the right hand right after it. I also implemented a proximity checker to try and make the code only work when a finger is pointed towards the camera, but it worked poorly and I will likely not use it for the ship. I also tried to make a new processing mode where instead of the motions of all fingers being recorded individually and then aggregated and turned into a direction later, only the index finger motion would be checked initially, then fingers were categorized based on whether they moved relative to the index finger or not. Those that didn’t were assumed to be part of the gesture, and therefore counted. I thought this would make the program more reliable since it would only require the index finger to be tracked well and the settings could be fine tuned to perform best for just that finger, but it ended up being kinda annoying. The processing window had to be really large in order for it to actually capture relative motion, the relative positions were tricky since the program couldn’t differentiate well whether one finger was covering another, and overall it just performed a lot worse. I might try and edit it in the future, but for now the regular mode works just fine as long as there’s a good amount of light. So far 1, 2, and 3 finger gestures work as separate triggers, and I will likely work on clicking in some way. On my setup, 3 fingers changes the window, 2 fingers scroll, and 1 finger moves the mouse. It would be nice to make it continuous instead of moving a set amount every trigger, but it does work.