StrokesPlus.net
Welcome Guest! To enable all features please Login or Register.

Notification

Icon
Error

3 Pages<123>
Options
Go to last post Go to first unread
Rob  
#41 Posted : Wednesday, February 19, 2020 6:48:52 PM(UTC)
Rob

Rank: Administration

Reputation:

Groups: Translators, Members, Administrators
Joined: 1/11/2018(UTC)
Posts: 1,349
United States
Location: Tampa, FL

Thanks: 28 times
Was thanked: 416 time(s) in 354 post(s)
Just more stuff for my own future reference.

Microcontroller code repo:

https://github.com/roblarky/Adafruit-Trackpad-SipPuff

Anyone can now download the code to drive the controller board, trackpad, and pressure sensor. Which really just transmits data over serial, so any program which can read the serial data can do whatever they want.

Not pushing the Windows app yet as it's WAY too crude to be subject to public criticism BigGrin Plus, it's not really complete anyway.
thanks 1 user thanked Rob for this useful post.
Kyrinn on 2/20/2020(UTC)
Rob  
#42 Posted : Wednesday, February 19, 2020 6:50:34 PM(UTC)
Rob

Rank: Administration

Reputation:

Groups: Translators, Members, Administrators
Joined: 1/11/2018(UTC)
Posts: 1,349
United States
Location: Tampa, FL

Thanks: 28 times
Was thanked: 416 time(s) in 354 post(s)
Also, I did receive the sip & puff sensor, and it works great. I mean, I don't have anything wired up in the app to react to the events yet, but the data is flowing in without issue.

Tomorrow I receive the last of the hardware, then I can assemble the whole thing to get it shipped off.
thanks 1 user thanked Rob for this useful post.
Kyrinn on 2/20/2020(UTC)
Kyrinn  
#43 Posted : Thursday, February 20, 2020 5:36:49 AM(UTC)
Kyrinn

Rank: Advanced Member

Reputation:

Groups: Approved
Joined: 1/21/2020(UTC)
Posts: 48
United States
Location: The Pale

Thanks: 33 times
Extremely exciting. I know the testing/refining process will take a while, but every time I look over and see that behemoth laptop sitting over there doing nothing, I get mad and giddy at the same time.
Rob  
#44 Posted : Friday, February 21, 2020 1:56:32 AM(UTC)
Rob

Rank: Administration

Reputation:

Groups: Translators, Members, Administrators
Joined: 1/11/2018(UTC)
Posts: 1,349
United States
Location: Tampa, FL

Thanks: 28 times
Was thanked: 416 time(s) in 354 post(s)
Hardware build complete!

Don't worry, that's not the tube I'm shipping, it's a brand new section I've never put my lips on :) However, note that barb on which the hose connects is REALLY strong - very difficult to remove the hose once it's on (but possible).

I taped a laminated piece of paper inside with the components used, just because you never know if someone else needs to service it or something in the future.

I found out this morning on my duplicated hardware setup (not enclosed) that apparently the pressure sensor is sensitive to light, so I put a piece of heat-shrink tubing around the internal tube since the MCU has power and transmit/receive LEDs that flicker inside the box. Probably shouldn't ever be something you'd notice, but if you're getting false sip/puff events, make sure the tube/port isn't being blasted with light.

The Windows app side is fairly ready, though I figured I'd wait until you get the hardware and test the basics before making customizations. Right now it just records the sip/puff events, but doesn't do anything. And the double-tap in the lower right corner just changes the color of the app - just to prove it's doing something. Of course, those updates are simple, I'll just publish an update and you download/install it and the new functionality will be there.

The PS/2 port (where the touchpad plugs in) seems pretty secure, but they're just regular screws into the plastic. I went to Lowes last night, but I couldn't find any machine screws/nuts small enough - so just make sure whoever is plugging in the touchpad doesn't try to jam it too hard. It is a snug connector, so they'll have to put a decent amount of force, but just don't apply any more force than necessary. I'm probably just being overly paranoid, but it's the only weak point so I wanted to mention it. Especially since the MCU is right behind it and busting the port inside the enclosure could hit the board/wiring and cause damage.

The pressure sensor is coated with silicon, so it should handle some moisture, but ideally let's try to make sure saliva/condensation isn't building into droplets and draining inside the unit.

https://www.strokesplus.net/images/touchpad/arduinooverview.jpg

https://www.strokesplus.net/images/touchpad/arduinocloseup.jpg
thanks 1 user thanked Rob for this useful post.
Kyrinn on 2/21/2020(UTC)
Rob  
#45 Posted : Friday, February 21, 2020 2:19:44 AM(UTC)
Rob

Rank: Administration

Reputation:

Groups: Translators, Members, Administrators
Joined: 1/11/2018(UTC)
Posts: 1,349
United States
Location: Tampa, FL

Thanks: 28 times
Was thanked: 416 time(s) in 354 post(s)
Oh, I'm also including some conductive thumb sleeves. The trackpad does not tolerate anything being between your digit and the pad (even a paper towel) - so I ordered the thumb sleeves off Amazon and the pad responded just like if I didn't have them on.

Hopefully they can combat the sweat/etc issues.
thanks 1 user thanked Rob for this useful post.
Kyrinn on 2/21/2020(UTC)
Kyrinn  
#46 Posted : Friday, February 21, 2020 6:05:42 AM(UTC)
Kyrinn

Rank: Advanced Member

Reputation:

Groups: Approved
Joined: 1/21/2020(UTC)
Posts: 48
United States
Location: The Pale

Thanks: 33 times
Originally Posted by: Rob Go to Quoted Post
Oh, I'm also including some conductive thumb sleeves.


That's a thing? For like... competitive phone gamers? Hastur bless weird-ass nerds.

But... that's really the thing that I appreciate and gives me any hope about any of this(I'm a level 87 Pessimist). I would have probably just have given up right there if it hadn't worked... or, at least I doubt I would have been able to figure it out.

Having ingenuity AND a specific set of skills is something I never expected to find when looking for help. There are a few extremely kind folks who offered to help me through this who fiasco by sending me an item or gadget here or there... and no one has, though I don't doubt that they actually intend to.

My point is that I deeply empathize with those people. I like to help people... but actually getting around to doing it is... y'know... work.

So, again... I'm deeply impressed by the amount of work you've done in the amount of time, and frankly, I think I'M going to be the thing to slow this whole process down.:p
Rob  
#47 Posted : Friday, February 21, 2020 3:49:49 PM(UTC)
Rob

Rank: Administration

Reputation:

Groups: Translators, Members, Administrators
Joined: 1/11/2018(UTC)
Posts: 1,349
United States
Location: Tampa, FL

Thanks: 28 times
Was thanked: 416 time(s) in 354 post(s)
As with everything, there are many small complexities when using this device to control the computer. Specifically around the fact that the program must be running, connected to the box, and having the necessary permissions to interact with Windows.

I've used the same UIAccess flag as S+ uses so it can start with Windows and interact with elevated programs, but there's one spot which you need to change Windows UAC (User Access Control) settings so you can move the mouse, click, etc. when you're being prompted for an elevation; like when you install something and the screen goes dim showing you the "Are you sure you want to run this" message.

You'll need to dial that setting down one notch as shown below, otherwise when the popup occurs, the program cannot control the mouse. This removes the dimmed screen (which shows it in a separate, secure desktop) so it shows in the main desktop instead, where the app can control the mouse.

I also had to make some updates to the installer so it automatically starts the app during setup. Since it closes the app first, it needs to start it again without any required mouse interaction otherwise you'd have to use the regular mouse/touchpad to click the Finish button to start the app. I'm hoping we don't find any other situations, but I think these should cover the bases.

I would definitely recommend that you run through several different scenarios when you first get it up and running, like installing an app and doing something that invokes the UAC prompt, rebooting the computer, etc. It's set to start with Windows, but there could be a delay until the app gets loaded when you reboot. However, I don't know if it will be able to interact on the login screen when you need to type in your PIN/password. We'll just have to see what we can do to work around these issues - I know there are programs like remote control (TeamViewer) which can interact with these screens, though they may run as services with admin privileges, so will see what can be done to ensure you can always use the device.

I've also found some other code examples out there, just will take some time to research, test, etc.

https://www.strokesplus.net/images/touchpad/allthumbs_uac.jpg
Kyrinn  
#48 Posted : Friday, February 21, 2020 7:40:06 PM(UTC)
Kyrinn

Rank: Advanced Member

Reputation:

Groups: Approved
Joined: 1/21/2020(UTC)
Posts: 48
United States
Location: The Pale

Thanks: 33 times
Well, some hopefully good news for you is that while I'm no coder, I have been using computers since DOS was the default, so I have a fairly solid grasp on Windows troubleshooting and tweaks.

Specifically, the two things you mentioned are two of the first things I do with every new computer: disable UAC(don't tell me what to do Microsoft, you're not my dad!) and now with Win 10, I disable the password/PIN. Is it secure? Hell, no. But if I wanted security, I'd run Tails... I want convenience, dammit!:p
Rob  
#49 Posted : Friday, February 21, 2020 8:32:37 PM(UTC)
Rob

Rank: Administration

Reputation:

Groups: Translators, Members, Administrators
Joined: 1/11/2018(UTC)
Posts: 1,349
United States
Location: Tampa, FL

Thanks: 28 times
Was thanked: 416 time(s) in 354 post(s)
That works out well!

I don't generally like to tell people to choose less secure methods unless absolutely necessary; and in this case it may be the first time it kinda is....so I'm glad you're already on board BigGrin
Rob  
#50 Posted : Friday, February 21, 2020 9:22:45 PM(UTC)
Rob

Rank: Administration

Reputation:

Groups: Translators, Members, Administrators
Joined: 1/11/2018(UTC)
Posts: 1,349
United States
Location: Tampa, FL

Thanks: 28 times
Was thanked: 416 time(s) in 354 post(s)
This really is a huge relief, lol.

I'm a bit of a compulsive perfectionist (in terms of doing things "right" - not necessarily true perfectionism), and the thought of trying to build a service or device driver was kind of making me feel a bit overwhelmed.

Making app updates to include new logic, handling sip/puff, etc are no sweat; but after throwing so much time into this effort already, I really was not looking forward to a ground-up redesign especially in areas with which I'm not fluent.
thanks 1 user thanked Rob for this useful post.
Kyrinn on 2/21/2020(UTC)
Rob  
#51 Posted : Tuesday, February 25, 2020 6:41:18 PM(UTC)
Rob

Rank: Administration

Reputation:

Groups: Translators, Members, Administrators
Joined: 1/11/2018(UTC)
Posts: 1,349
United States
Location: Tampa, FL

Thanks: 28 times
Was thanked: 416 time(s) in 354 post(s)
Well I think the app is in a good enough spot to upload.

I added the ability to send scripts to StrokesPlus.net as it allows a lot of potential. StrokesPlus.net would have to be running for this to work, though it can be disabled and it will still receive these messages and execute the scripts. This doesn't have the code editor like S+, just text boxes, so it won't look pretty or have auto-complete, but it's enough for me to be able to whip up something and have you paste it in.

I also added some very basic Sip/Puff action management.

The app is very technical in terms of all kinds of settings to control events, timings, thresholds, etc. - But most of them will probably be fine to leave as is, only a couple might need some tweaking.

https://www.strokesplus.net/files/allthumbs/AllThumbs_Setup_1.0.0.0.exe
thanks 1 user thanked Rob for this useful post.
Kyrinn on 2/25/2020(UTC)
Kyrinn  
#52 Posted : Tuesday, February 25, 2020 7:23:48 PM(UTC)
Kyrinn

Rank: Advanced Member

Reputation:

Groups: Approved
Joined: 1/21/2020(UTC)
Posts: 48
United States
Location: The Pale

Thanks: 33 times
Oh my god... what have you done...?

THAT'S THE BEST APP NAME EVER.

So, yeah. I'm going to download and install it. Tomorrow I should get the touchpad, and we can begin! I don't know if you can tell I'm excited.

As a warning, I get disheartened very easily, but don't actually give up easily. If I do get sound bummed in my reports, don't take it personally.
Rob  
#53 Posted : Wednesday, February 26, 2020 1:37:02 AM(UTC)
Rob

Rank: Administration

Reputation:

Groups: Translators, Members, Administrators
Joined: 1/11/2018(UTC)
Posts: 1,349
United States
Location: Tampa, FL

Thanks: 28 times
Was thanked: 416 time(s) in 354 post(s)
Heh, I thought you'd have already noticed in my post where I mentioned "bringing a little levity into this" since it was in the screenshot of the app BigGrin
thanks 1 user thanked Rob for this useful post.
Kyrinn on 2/26/2020(UTC)
Kyrinn  
#54 Posted : Wednesday, February 26, 2020 1:47:12 AM(UTC)
Kyrinn

Rank: Advanced Member

Reputation:

Groups: Approved
Joined: 1/21/2020(UTC)
Posts: 48
United States
Location: The Pale

Thanks: 33 times
Nope, had absolutely no idea what you were talking about. I'm going to pretend it's because my eyes were locked on the app itself, but it's more likely that I just have zero perceptive ability.
Rob  
#55 Posted : Wednesday, February 26, 2020 3:21:50 AM(UTC)
Rob

Rank: Administration

Reputation:

Groups: Translators, Members, Administrators
Joined: 1/11/2018(UTC)
Posts: 1,349
United States
Location: Tampa, FL

Thanks: 28 times
Was thanked: 416 time(s) in 354 post(s)
Here's an overview of the app, seemed like a good idea as it pretty much covers all the stuff.

I realized after that some things like right-click menus and dropdown lists don't show since they're technically a different "window" than the app itself, so they don't show up; but you're not missing anything.



thanks 1 user thanked Rob for this useful post.
Kyrinn on 2/27/2020(UTC)
Rob  
#56 Posted : Wednesday, February 26, 2020 3:27:13 PM(UTC)
Rob

Rank: Administration

Reputation:

Groups: Translators, Members, Administrators
Joined: 1/11/2018(UTC)
Posts: 1,349
United States
Location: Tampa, FL

Thanks: 28 times
Was thanked: 416 time(s) in 354 post(s)
Oh also I somehow managed to not mention over the course of the 24 minute video about the other areas' double-tap and hold functionality.

In a non-defined corner, it will result in the left mouse button being held down until release (left click drag).

In the upper right corner, it will result in the right mouse button being held down until release (right click drag - can execute S+ gestures this way as well).
thanks 1 user thanked Rob for this useful post.
Kyrinn on 2/27/2020(UTC)
Kyrinn  
#57 Posted : Thursday, February 27, 2020 7:30:57 AM(UTC)
Kyrinn

Rank: Advanced Member

Reputation:

Groups: Approved
Joined: 1/21/2020(UTC)
Posts: 48
United States
Location: The Pale

Thanks: 33 times
Okay, it arrived sometime this afternoon, and had some issues, but nothing serious. Basically, it just wasn't connecting/finding a COM port. I uninstalled and reinstalled it, but I probably could have closed and opened it. No big deal.

The thumb sleeve seems to be working great with my old touchpad(I wanted to eliminate variables), but I haven't actually tried the gadget itself yet. I wanted to watch your tutorial video(which I was going to ask you to make... of course, you already did) first. I will go do that right... now!

Okay, it arrived sometime this afternoon, and had some issues, but nothing serious. Basically, it just wasn't connecting/finding a COM port. I uninstalled and reinstalled it, but I probably could have closed and opened it. No big deal.

The thumb sleeve seems to be working great with my old touchpad(I wanted to eliminate variables), but I haven't actually tried the gadget itself yet. I wanted to watch your tutorial video(which I was going to ask you to make... of course, you already did) first. I will go do that right... now!

Okay, so I'm using the new hotness + my onscreen keyboard(Dasher: ) to type this, and... holy crap, am I impressed. I really did not expect this to be so functional out of the box.

As I'm typing this, I have to move my thumb so little, to an outside observer, it would likely look like I'm not moving it at all. Indeed, I'm mostly just flexing it a little to select the letters I want. This is with the accel at 5X, 3Y. Though, of course, immediately after writing that, I started having some issue with it... so, I'm going to switch back to the old touchpad so I may commence the complaining!

All righty, one possibly critical issue, a few minor, and a few unknown/further testing required issues.

The big one: clicking. Using the thumb sleeve, moving the mouse around was easy enough, but getting a click event to register took quite a bit of effort on my part, and far worse(mostly joking), it looked quite odd as I had to spastically twitch my torso to make my thumb land hard enough to register a click.

I tried my usual medical tape, but as predicted, the response was erratic at best. I was using nothing on my thumb when writing the positive things above, and that seemed to improve how much pressure per click I need to apply. It was close to my old touchpad on that front. Unfortunately, due to the weird texture of my thumb, it almost "sticks" to the touchpad, which means that when I need to move the cursor a larger distance, I actually moved the pad itself.

I could go into WAY more detail, but I have a killer migraine and need to wrap this up... so, the real question is: would it be possible to make it easier to register a click event? I would be more disheartened if I couldn't move the cursor with the pressure I can apply, but it's just clicking. I tried turning down the minimum force, but as you said, it doesn't really pick up much under 39.

Minor problems:

I once lost the ability to click at all. The click zones even disappeared in the app. The problem was fixed by having my PCA(personal care assistant) click the physical left touchpad button, and everything returned to normal. This only happened after moving the touchpad around for positioning.

When I was using it without anything on my thumb, there was some very erratic cursor jumps.

Other problems:

Most of these I won't bother with, because so much of this process is me getting used to a new device and finding good positioning for me. I will ask if you have any ideas for something I can put on the bottom of the touchpad to keep it from sliding?

Anyway, I hope to do more extensive testing before/over the weekend, but must go now, as my head hurts bad enough that I'm bordering on hallucinating, and have started to type some very weird crap in this report before catching myself.

Hopefully, this all makes some sense, and thank you so much!
Rob  
#58 Posted : Thursday, February 27, 2020 1:38:06 PM(UTC)
Rob

Rank: Administration

Reputation:

Groups: Translators, Members, Administrators
Joined: 1/11/2018(UTC)
Posts: 1,349
United States
Location: Tampa, FL

Thanks: 28 times
Was thanked: 416 time(s) in 354 post(s)
I certainly empathize with migraines...they're brutal and can be completely debilitating.

Honestly I'm not shocked about the required pressure. It wasn't too hard, but I also don't know what kind of pressure (or lack thereof) requirements I was working with.
And you're correct, there's absolutely nothing I can do about that; it's in the hardware of the trackpad itself, not something we can configure beyond whenever it does start to report a touch. I did try to disable the tap mode in the device, but it didn't seem to do anything. I was hoping it would result in it simply reporting the touch/coords which I could then use code instead to report a tap (e.g. received touch input, then no touch input and the distance was below a threshold, so send a click).

I honestly think it has to do with the capacitance, like if I try to tap with the tip of my index finger, which has some callus (e.g. very low in moisture) I have to press fairly hard. But if I use the side of my thumb (just below beginning of thumbnail, left outer edge) it's extremely sensitive to detecting that - I can just barely feel the surface of the touchpad and it reports the touch. I don't know if that even helps us in any way, but is a valid observation about the issue. It might also be the amount of surface area as that results in a wider area touching the pad which perhaps aids in triggering the event and determining and center location to use as the point touched. Maybe it's intentional to prevent false events - but whatever it is, there's just nothing that can be done about that as it's in the hardware of the trackpad itself.

Edit: Focus on this next paragraph, some of the above may not be relevant

But you can try checking the Show Serial Data Input and see what's showing up when you're moving/trying to tap. It seems that if it is detecting movement (thus detecting your thumb) fine, it should also detect tapping. It might be the issue is that it's detecting movement or something instead of a tap. That's something we could work with within the app. Like imagine you're trying to tap, but the pressure is very minimal and in the action of attempting to tap your thumb is actually sliding a little. If the touchpad detects movement, it won't report a tap just coordinates. If that's the case, the app would be receiving something in the format X,X,X|F instead of a detected tap, which would look like X,X,X|G. I can absolutely handle that in the app's code. In fact, testing that theory on the touchpad just now, tapping with the slightest slide doesn't send the G (gesture - tap), only the F (finger present) - I can even do it in such a way that it reports F and doesn't even move the mouse as it didn't think there was far enough finger movement to send multiple coordinates.

So definitely do that first thing, check that box and see what's streaming in when you try a tap. If you're seeing anything show up, then it's a solution which can be handled in the app by looking for "G" events like it does now, but also tracking the incoming "F" events and using distance/timing thresholds to translate to a tap/click (which is basically what the trackpad hardware also does internally) instead of a movement. I also notice that if the tap isn't fast enough, the trackpad will just report a single F event instead of G for tap. So yeah, let me know what you see when you get around to checking it out.


(paragraph below was typed before some edits/theory craft above, but leaving it anyway)

When I came across that other touchpad dev kit (https://www.cirque.com/gen4-trackpad-dev-kit), I really wanted to just order it and scrap everything I'd done thus far, but I decided that would be hasty and I didn't want to be jumping from one shiny thing to another, never producing any results at all. It's a crappy situation because we won't know how it will detect your thumb without having the hardware first in your possession. But these kits don't necessarily show up ready to just test your thumb on it. You'd have to download the Arduino IDE, their source code, compile it to the board, run, use the serial monitor (Arduino IDE) to issue it commands then see the output. From researching this unit and the source code, though, it looks like it would actually do that fairly out of the box. The main loop looks like it just continually spits out the touchpad data. Installing the IDE, downloading the touchpad source code, and running it honestly doesn't require any programming experience, see the documentation here: https://www.dropbox.com/s/ur152pz53va6g7m/GP-AN-180530%20Gen4%20Trackpad%20DevKit%20User%20Guide.pdf?dl=0. So that's one possibility anyway, you could order the dev kit and have your assistant help with assembling it (looks very minimal, likely just connecting the cables), then install the stuff and run the sample code to see how it responds. If it looks good, then I can order the dev kit myself and work on coding, etc.


Regarding the losing the ability to click at all

That was likely a state issue, meaning the app code has to keep track of things and due to erratic input or poor state management, the app likely got stuck in a state and was waiting for something to occur (or an amount of time to pass) before resetting things. It was likely some sort of race condition, clicking one of the physical buttons probably executed a different path which reset the state. That kind of stuff is very challenging to handle just right and properly recover - I'd say 50% of S+ development time (cumulatively) has been state and race condition management. This actually results in very little code, just spending hours working through conditions and possible events to add a few lines of code here and there - it's pretty tedious and I definitely did not spend a lot of time in this app working through those things.

Also note that the tap zones are only rendered when All Thumbs is active, to prevent using CPU cycles to draw the boxes and show the dot for where a finger is detected when it's in the background. So it just meant the app either wasn't active or it didn't think it was active.

Edited by user Thursday, February 27, 2020 2:26:55 PM(UTC)  | Reason: Not specified

Kyrinn  
#59 Posted : Friday, February 28, 2020 9:32:40 PM(UTC)
Kyrinn

Rank: Advanced Member

Reputation:

Groups: Approved
Joined: 1/21/2020(UTC)
Posts: 48
United States
Location: The Pale

Thanks: 33 times
I will attempt to test all this more before... Sunday, I hope.

I have done a little bit of that very thing, and with the pressure I was applying, it was picking up movement, it was specifically the tap gesture.

I will do more with it... positioning and other analysis to see if I can improve it in meatspace.

I will write more soon, I just wanted to reply so you know I'm still here.
Kyrinn  
#60 Posted : Monday, March 2, 2020 8:18:05 PM(UTC)
Kyrinn

Rank: Advanced Member

Reputation:

Groups: Approved
Joined: 1/21/2020(UTC)
Posts: 48
United States
Location: The Pale

Thanks: 33 times
Okay, so I did something useful!

One problem definitely(hopefully) solved, and one smaller problem likely solved.

Can't click: solved?
It was actually really simple. I could almost click with the thumb sweater on, and I could click easily with my disgusting, moist, bare thumb, but literally everything else was a problem. Answer? Split the difference. I just bought an extremely thin thumb sleeve(I refuse to call it a cot). So far, so good. More testing required, but super promising.

Touchpad sliding around: solved one way or another?
I had a problem with the pad sliding because it's so light, so I just bought some little rubber feet for a Macbook or something. I haven't actually put them on yet, because I've repositioned myself slightly, and haven't had many sliding issues. Also, I introduced three changes today, and I didn't want to introduce a fourth.

Remaining issues in rough order of importance:

Random input jumps. I don't remember if I talked about this last time, but occasionally when I'm moving the pointer, the cursor will leap to the edge of the screen. This isn't a show stopper, but it is a problem when I'm using my on-screen keyboard(Dasher) to type, as those jumps either write a bunch of garbage or worse, delete paragraphs. It could also be bad in games. I will try to see if I can catch it on the input log and see if it means anything to you.

Hurty fingee syndrome. My index finger knuckle rests directly on the edge of the touchpad. It hurts. I have some sticky thin foam stuff I can put on it. Easy fix.

Click and hold problems. I'll be honest, I don't know if this is isolated to All Thumbs, or is an issue with everything, but when I click and hold on the arrows to adjust the click zones, it can take a few tries. Either it drifts off the button, or it takes a few tries to get it to "stick". I have a few things to try, will report back with more findings.

The next step is to really test all the features and then install them on the new computer.

I've been using the touchpad for a few hours now, and I'm... really pumped. I think all the problems now(assuming it works the same on the behemoth) can either be fixed software side or with things I can fix on my end.

Anyway, I will get back to you when/if I get it running on the new computer!

P.S. Here's a picture of how I use it, just for fun and/or future reference.

https://imgur.com/a/12oIgmB

Edited by user Monday, March 2, 2020 8:18:52 PM(UTC)  | Reason: Not specified

Rob  
#61 Posted : Monday, March 2, 2020 8:48:29 PM(UTC)
Rob

Rank: Administration

Reputation:

Groups: Translators, Members, Administrators
Joined: 1/11/2018(UTC)
Posts: 1,349
United States
Location: Tampa, FL

Thanks: 28 times
Was thanked: 416 time(s) in 354 post(s)
I'm glad to hear you've been able to come up with some solutions! I'm also glad you sent the picture, as that was also a challenge in trying to envision how you were physically interacting with the device.

I'd wondered about that, in terms of the edge of the touchpad being raised plastic.

The jumping to the edge of the screen...hmm, not sure. You might try checking the Log Data box and right when that happens, save the log file and send it to me. That would help me see the events that occurred to try and understand how it may have happened.

Yeah those are just built-in WinForms numeric controls..they're not the best, especially with how small they are. I made them large and also changed the default increment to 10 (instead of one) so a single click will go farther. You can also click in the box and type a number.

https://www.strokesplus.net/files/allthumbs/AllThumbs_Setup_1.0.0.1.exe

Yes, I do think there are some software enhancements which can be made, and we might also have to try the other touchpad at some point as well. There's also a way which we may be able to have it be recognized as a precision touchpad, thus not need All Thumbs to function, but that will have to be a little down the road as it's a bit of an endeavor.
thanks 1 user thanked Rob for this useful post.
Kyrinn on 3/3/2020(UTC)
Kyrinn  
#62 Posted : Tuesday, March 3, 2020 6:24:52 AM(UTC)
Kyrinn

Rank: Advanced Member

Reputation:

Groups: Approved
Joined: 1/21/2020(UTC)
Posts: 48
United States
Location: The Pale

Thanks: 33 times
Sigh, again.

I just tried the new computer, and not only could I not click, I couldn't even move the cursor reliably. So, that's two failures and one success. Interestingly, both failures have been in my living room, with 2 different computers. For clarification, I only ever use the computer while laying down, and the only places to do that, are the living room and the bedroom... my success earlier today was in my bedroom.

Oh, right... the specifics. So, when I applied gradual pressure, the minimum I could apply for it to actually register is about 45, as opposed to 37, 38 earlier today, which was in my comfort zone. Fun fact, according to All Thumbs, the absolute most pressure I could apply was 51.

The problem is that there are so many variables. I don't know if it's positioning(a HUGE, very difficult to reproduce factor), computer differences(I know that shouldn't make a difference, but a ghost comes free with every machine), room/thumb temp, and moisture.

I plan to do more exhaustive testing when it's before midnight, but if you're able to try something before me, here's something we could confirm/eliminate...

Start the newest version of All Thumbs, and do the thing where you try to find the minimum pressure needed to register(roughly). Then, chill your finger/thumb. Nothing extreme, but just noticeably colder than your average, since we're not exactly looking for peer review.

When I tried and failed just now, my thumb was freezing, partially due to nerves. Earlier today, not so much.

As I said, I'm going to try tomorrow, but the PCA I have working isn't the most experienced at troubleshooting.

I feel like it's close, and that's almost worse.
Rob  
#63 Posted : Tuesday, March 3, 2020 3:57:41 PM(UTC)
Rob

Rank: Administration

Reputation:

Groups: Translators, Members, Administrators
Joined: 1/11/2018(UTC)
Posts: 1,349
United States
Location: Tampa, FL

Thanks: 28 times
Was thanked: 416 time(s) in 354 post(s)
I'm pretty swamped with work, but I'll try to test the cold finger thing later.

Also, I just ordered that other touchpad dev kit as well. My gut feeling says it's more like the kind in modern laptops - very sensitive to the slightest touch, more sensitive to small movements, higher resolution, etc.

The current touchpad really just has a cheap feel to it, like something that was bulk produced a decade ago and they're still working through the inventory...but it's what they had a code library for, so it was worth a shot. Plus, I didn't find this other one until I was basically finished, so I figured we'd just see how it went.

But honestly, the result is what my gut was telling me it would be.

thanks 1 user thanked Rob for this useful post.
Kyrinn on 3/3/2020(UTC)
Kyrinn  
#64 Posted : Tuesday, March 3, 2020 6:23:40 PM(UTC)
Kyrinn

Rank: Advanced Member

Reputation:

Groups: Approved
Joined: 1/21/2020(UTC)
Posts: 48
United States
Location: The Pale

Thanks: 33 times
No problem about the cold finger test. I'm going to try today, just for fun.

Do you want/need me to send back the old touchpad?
Rob  
#65 Posted : Tuesday, March 3, 2020 6:48:48 PM(UTC)
Rob

Rank: Administration

Reputation:

Groups: Translators, Members, Administrators
Joined: 1/11/2018(UTC)
Posts: 1,349
United States
Location: Tampa, FL

Thanks: 28 times
Was thanked: 416 time(s) in 354 post(s)
Oh not at all, it's barely worth the cost of shipping in terms of raw value.

Plus, the Sip & Puff functionality can still be used. I'd have to walk you through updating the controller code to not connect to the trackpad, otherwise it doesn't work if it's not connected. But it's a very simple thing to do, we'll worry about that later.
Kyrinn  
#66 Posted : Wednesday, March 4, 2020 9:20:58 PM(UTC)
Kyrinn

Rank: Advanced Member

Reputation:

Groups: Approved
Joined: 1/21/2020(UTC)
Posts: 48
United States
Location: The Pale

Thanks: 33 times
I just wanted to update to say that I actually used the touchpad on the new computer for several hours. It does seem highly sensitive to heat, moisture, and especially my positioning. So, I'm going to keep playing with it occasionally as you build the new monster. I figure if nothing else, I can get some enjoyment out of my computer and test All Thumbs.
Rob  
#67 Posted : Friday, March 6, 2020 9:05:18 PM(UTC)
Rob

Rank: Administration

Reputation:

Groups: Translators, Members, Administrators
Joined: 1/11/2018(UTC)
Posts: 1,349
United States
Location: Tampa, FL

Thanks: 28 times
Was thanked: 416 time(s) in 354 post(s)
Just a little update - I received the new touchpad dev kit yesterday evening and was able to connect the pressure sensor to the board, as well as alter their sample code so it sends data in the format All Thumbs is expecting.
Making it behave as a native mouse/touchpad is more complicated, plus it reduces the functional possibilities. I can always come back to that later, my first goal was just to see if I could make it work quickly, which was successful.

This thing has very high resolution and sensitivity! So sensitive, in fact, that I've run into an issue with the cursor jumping when I lift my thumb. Since it's so sensitive, it sees my thumb lifting and reports the next coordinates as the part of the thumb which is still in contact - it's kind of like a rolling effect since you can't instantaneously remove your entire thumb away from the pad at the same time.

I posted on their forum to see if they have any suggestions and I'll keep thinking through the issue. The only solution coming to mind (assuming there isn't some configuration they tell me about) is actually queuing up the data and looking ahead to see if the finger is lifted within several message in the future to mitigate the jitter. In reality, that processing should be so fast that it's humanly imperceptible, but I don't really prefer this unless necessary as it just feels like it will have complications...but that may simply be the reality of this type of interface - things which they usually abstract away from the end user.

In relative mode (how mice/touchpads are generally configured, only reporting location change [delta]), it seems to mitigate that internally - but we have to use absolute mode in order to obtain the touchpad contact location for the zones.

Hopefully they have some solution, or can provide me with sample code used in relative mode for mitigating the jitter - or maybe I'll find some other algorithm out there somewhere. I'm guessing this is a problem which has been already solved many times, I just have to implement it myself...which I had to do for handling a tap as well since absolute mode doesn't handle detecting taps for you.
thanks 1 user thanked Rob for this useful post.
Kyrinn on 3/6/2020(UTC)
Kyrinn  
#68 Posted : Friday, March 6, 2020 10:01:05 PM(UTC)
Kyrinn

Rank: Advanced Member

Reputation:

Groups: Approved
Joined: 1/21/2020(UTC)
Posts: 48
United States
Location: The Pale

Thanks: 33 times
As a rube, it's my duty to ask why the "minimum pressure" setting in AT won't work. I'm assuming it's a completely different beast with this touchpad.
Rob  
#69 Posted : Friday, March 6, 2020 10:51:59 PM(UTC)
Rob

Rank: Administration

Reputation:

Groups: Translators, Members, Administrators
Joined: 1/11/2018(UTC)
Posts: 1,349
United States
Location: Tampa, FL

Thanks: 28 times
Was thanked: 416 time(s) in 354 post(s)
In the default configuration/code there's no pressure reported. So it's touch or no touch.
Rob  
#70 Posted : Monday, March 9, 2020 6:36:43 PM(UTC)
Rob

Rank: Administration

Reputation:

Groups: Translators, Members, Administrators
Joined: 1/11/2018(UTC)
Posts: 1,349
United States
Location: Tampa, FL

Thanks: 28 times
Was thanked: 416 time(s) in 354 post(s)
Update - They've helped me get things setup to read pressure!

Here's the post over there, just for the overall history of this endeavor :)

https://cirquecorp.discussion.community/post/touch-pressure-sensitivity-10448633

So now I just have to think a bit on how to properly handle this issue. The data is now available, it's just a matter of logic.

Code:
14:24:43.002 -> 2693,1343,64|
14:24:43.002 -> 2695,1343,63|
14:24:43.137 -> 2698,1343,56|
14:24:43.137 -> 2698,1344,50|
14:24:43.171 -> 2698,1353,44|
14:24:43.171 -> 2696,1357,42|
14:24:43.171 -> 2694,1364,40|
14:24:43.205 -> 2694,1364,0|

That's the serial output now, showing X, Y, Z - you can see the pressure (Z) drops as the final events come through (lifting thumb). You can also see how the coordinates drift during lifting the thumb (Y axis: 1344, 1353, 1357, 1364), which causes the mouse to jump a little - not fun if you're trying to get the mouse over a specific location.

Now I just have to determine the best way to handle the pressure reducing to ignore coordinates (stop moving the mouse). The only problem is that pressure can change during normal movement unless you're a robot or something! So I just need to come up with an elegant way to distinguish between normal pressure changes and those when you're in the process of lifting your thumb. But I'm confident I will be able to handle it.
thanks 1 user thanked Rob for this useful post.
Kyrinn on 3/9/2020(UTC)
Kyrinn  
#71 Posted : Monday, March 9, 2020 7:32:32 PM(UTC)
Kyrinn

Rank: Advanced Member

Reputation:

Groups: Approved
Joined: 1/21/2020(UTC)
Posts: 48
United States
Location: The Pale

Thanks: 33 times
I read a bit, and my eyes glazed over. I'm not at savvy as I think.

Would it possible to have a minimum pressure cut-off that's adjustable?

OR, an amount of pressure drop off cut off? So, if it drops from 30 to 10 in 0.x seconds, it kills movement? It probably wouldn't play nice with the glide, but the way you handled the acceleration on the v1 touchpad, I didn't really mess with the glide much.
Rob  
#72 Posted : Monday, March 9, 2020 8:27:39 PM(UTC)
Rob

Rank: Administration

Reputation:

Groups: Translators, Members, Administrators
Joined: 1/11/2018(UTC)
Posts: 1,349
United States
Location: Tampa, FL

Thanks: 28 times
Was thanked: 416 time(s) in 354 post(s)
Yes, that's the idea is a maximum pressure delta (change) value. It would probably have to be combined with timing/distance and be refreshed as you're moving along to reduce false positives, etc.

But, it's definitely doable!

I just need to think through all of the possible things we'll need to be able to control so there are functions baked into the controller board which receives those values and responds accordingly.

Worst case, I'll just throw the kitchen sink in the controller and we can make updates to All Thumbs to push things down to it and/or handle within All Thumbs itself; but I think they're going to need to work in tandem at least to some extent no matter what.

Either way, I think we're good.
Rob  
#73 Posted : Monday, March 9, 2020 8:54:32 PM(UTC)
Rob

Rank: Administration

Reputation:

Groups: Translators, Members, Administrators
Joined: 1/11/2018(UTC)
Posts: 1,349
United States
Location: Tampa, FL

Thanks: 28 times
Was thanked: 416 time(s) in 354 post(s)
Also FYI, this build will be less hurty than the last BigGrin

Essentially going to surround the touchpad with a mouse pad (cut down some), so it should be much cozier and prevent sliding around!

But the way the little ribbon cable connects to the board (along with other reasons), it's all going to be self-contained - meaning the board and touchpad will be housed in the same package. And thanks to your picture, I can visualize how to build it in a way that is more comfortable as well as functional.

It will need to be a little deeper, distance from front of touchpad to back (up against your laptop) - so let me know what the maximum dimensions can be.
Kyrinn  
#74 Posted : Tuesday, March 10, 2020 6:19:52 AM(UTC)
Kyrinn

Rank: Advanced Member

Reputation:

Groups: Approved
Joined: 1/21/2020(UTC)
Posts: 48
United States
Location: The Pale

Thanks: 33 times
I think the part closest to my face is what needs to be thinner than the computer side. The computer side can be several inches thicker, as if need be, I can just wear my glasses if it's too far away. Obviously, the closer the better, but I don't know how important it is.

I can try and give you specifics in the next few days, but I wanted to give you an answer of some kind today.

Oh, and have you tried either the thumb cozy or the tape to see how it affects the jitter?
Rob  
#75 Posted : Tuesday, March 10, 2020 7:20:18 PM(UTC)
Rob

Rank: Administration

Reputation:

Groups: Translators, Members, Administrators
Joined: 1/11/2018(UTC)
Posts: 1,349
United States
Location: Tampa, FL

Thanks: 28 times
Was thanked: 416 time(s) in 354 post(s)
I don't actually have any thumb caps as I sent them all to you :P

Tape shouldn't be a problem as long it's not too thick. I took some standard white medical tape and wrapped it one, two, then three times around. By the third pass, I needed to push a little harder than normal, but it was still functioning.

Doesn't affect the last minute jump in any way.

---

Yes, the front part will be low and flat, with touchpad surface less than a 1/4" from the front-most part of the device.
The back part should be less than 1" in height.
But the overall depth front to back will be about 6" - probably 6" wide as well, with ~3" of that being mouse pad to the right of the touchpad.
Though I still need to determine what the materials will be used for the foundation and housing.

Here's a rough ASCII text drawing, because why not‽
This is crude and approximate, but to give you an idea. There will be some kind of flat foundation on the bottom to lock everything in place.
I may be able to make the overall depth (front to back) a little smaller, but this should be pretty worst case.
The mousepad area will be flush with the edge of the touchpad housing (level across), and will actually extend a little on the left side as well, since I want to cut out and drop the mousepad around the parts to help keep it in place.
Code:

          <-                6"                ->
          _____________________________________
         |                  |                  | ^
_________|   MCU/Sensor     |   More mousepad  | |
__tube___|     1" tall      |     Optional     |
         |                  |                  |
         |__________________|__________________| 6"
         |                  |                  |
         |                  |                  |
         |    Touchpad      |     Mousepad     |
         |    1/4" tall     |                  | |
         |__________________|__________________| v

Rob  
#76 Posted : Tuesday, March 10, 2020 8:23:29 PM(UTC)
Rob

Rank: Administration

Reputation:

Groups: Translators, Members, Administrators
Joined: 1/11/2018(UTC)
Posts: 1,349
United States
Location: Tampa, FL

Thanks: 28 times
Was thanked: 416 time(s) in 354 post(s)
Also, got the finger lift logic working, as well as preventing single or double taps from moving the mouse cursor.

So just some more testing and analysis to make sure the MCU has everything we might need programmed in, then build the housing, and get it shipped off!

Oh, and I gotta order another touchpad dev kit so I can actually test/debug/update things once I send this one off :P
thanks 1 user thanked Rob for this useful post.
Kyrinn on 3/11/2020(UTC)
Kyrinn  
#77 Posted : Wednesday, March 11, 2020 1:21:59 AM(UTC)
Kyrinn

Rank: Advanced Member

Reputation:

Groups: Approved
Joined: 1/21/2020(UTC)
Posts: 48
United States
Location: The Pale

Thanks: 33 times
The pace at which you work is truly astounding. I don't know if it's just because I have a terrible work ethic, but it seems like you have temporal manipulation, or don't sleep.

Anyway, all of that looks good. The computer with v1 was in a kind of unfortunate middle ground, where it was too close for glasses, but too far away to not squint. I would guess 8" will mean I need to wear them, but I probably should have done that, anyway. I won't know until I actually use it. I imagine there will be some physical kinks to resolve on my end with positioning aids, and so forth, and then if we think you can make a permanent adjustment, we can basically just ship each other the touchpads and modify as needed.

Wow.
Rob  
#78 Posted : Wednesday, March 11, 2020 4:31:40 AM(UTC)
Rob

Rank: Administration

Reputation:

Groups: Translators, Members, Administrators
Joined: 1/11/2018(UTC)
Posts: 1,349
United States
Location: Tampa, FL

Thanks: 28 times
Was thanked: 416 time(s) in 354 post(s)
I ordered the other touchpad dev kit along with some longer flat cables which will hopefully work okay. The cables used to connect the board to the touchpad are those tiny flat cables you see inside electronics, so I don't have as much flexibility.

I also found a breakout board, so you can plug in one of the tiny cables and it has normal size PCB holes you can then solder wires to, so that might work as well.

Once that all shows up, I'm going to tinker around and see what works.

So I'm assuming you would normally be positioned to use the laptop's touchpad, right? This touchpad is pretty thin, so you might be able to place it on the laptop itself, next to the built in one - and with the longer cable, be able to set the MCU somewhere nearby.

Anyway, we'll just have to see how things go!
thanks 1 user thanked Rob for this useful post.
Kyrinn on 3/11/2020(UTC)
Rob  
#79 Posted : Wednesday, March 11, 2020 7:39:55 PM(UTC)
Rob

Rank: Administration

Reputation:

Groups: Translators, Members, Administrators
Joined: 1/11/2018(UTC)
Posts: 1,349
United States
Location: Tampa, FL

Thanks: 28 times
Was thanked: 416 time(s) in 354 post(s)
More updates. Scott over at Cirque also pointed me to logical scaling settings and touch/lift thresholds on the board itself.

Logical scaling may be useful if the movement is TOO sensitive and we want to dial it down some; it effectively allows us to reduce the coordinates of the touchpad.

The touch and lift thresholds are REALLY fantastic because that's kind of separate from the pressure values, so we should be able to adjust the touch sensitivity as needed, which we couldn't do on the other touchpad. So if you're having a hard time getting it to register, we can make it more sensitive which sounds like what your original laptop provided via the Synaptics settings.

I really feel like this device will be everything we need.

Still waiting for a shipping confirmation, but the extra dev kit and cables should be here Friday, so I can start the build. Assuming the longer cables work and are tolerant of bending, I should be able to make the footprint better for your use - will let you know how that goes. But now I'm thinking of having the MCU off to the left attached via cable, so just the touchpad itself is all you need to have right there. Might be able to set it on the laptop itself to the right of the laptop's touchpad (maybe even right on top of it?), with the MCU on the other side of the laptop's touchpad or something like that.

So definitely let me know your thoughts on what you think might be the safest way to go.
thanks 1 user thanked Rob for this useful post.
Kyrinn on 3/11/2020(UTC)
Kyrinn  
#80 Posted : Wednesday, March 11, 2020 8:18:53 PM(UTC)
Kyrinn

Rank: Advanced Member

Reputation:

Groups: Approved
Joined: 1/21/2020(UTC)
Posts: 48
United States
Location: The Pale

Thanks: 33 times
I actually placed v1 on top of my laptop touchpad the first time I used it, as I knew I might need to switch between them. It was a little awkward because of its height, but it sounds like v2 is thinner/shorter, right?

Now, that said... pushing the computer back might not be the worst thing. Having the computer right in my face is great for privacy and because I don't need glasses, but it has problems, too. Mainly that it's so close it makes it difficult to see the whole screen. I never run anything fullscreen, and one of the main reasons is that I can't see the edges of the screen.

It's what I'm used to, so I suppose my point is just to do whatever you think is easier. I do think having the MCU to the left is a great idea, but as far as positioning, this is all a bit new to me. I've been doing this the same way for 25 years out of necessity, not really because it's optimal.
Users browsing this topic
Guest
3 Pages<123>
Forum Jump  
You cannot post new topics in this forum.
You cannot reply to topics in this forum.
You cannot delete your posts in this forum.
You cannot edit your posts in this forum.
You cannot create polls in this forum.
You cannot vote in polls in this forum.