Seconding the plug for sh3d. And the source is relatively accessible if you want to make modifications---I patch my personal copy to allow zero-height walls and floors which can make doing more complicated geometry easier.
Are you on linux? For a while I've been running into issues with FF where it will randomly halt repainting after switching tabs. The process is clearly still responding to keystrokes and mouse events, but the ui is mostly frozen.
I've also been running into an annoying issue where hover menus will randomly stop working---it seems like the mouseout event is firing before the click event is handled.
Yeah, having equals and hashCode on the root Object class is Java's biggest mistake, IMO. Although for a slightly different reason: equality is usually context-dependent, but having equals as an instance method ties you to one implementation.
Irrational investor expectations in a self-reinforcing feedback loop with economic policy decisions driven by core underlying beliefs that speculation can't destroy productive growth (i.e. if you create a bubble that pops, you'll still be net-positive compared to before the bubble) and that speculation is the best way to create growth in a population-constrained market.
imo it seemed like there was this phase of "if we pretend null doesn't exist maybe it will go away" that resulted in a bunch of design issues. Beyond Optional, the other big one to me is Map.compute/Map.merge, which subtly breaks the previous interface contract for Map. As annoying as null is, I'd rather have null than have broken apis.
Do you have the scanner set up as a keyboard wedge (USB-HID)? From your description, it sounds like it. Usually when dealing with control characters it's easier to put scanners in virtual COM mode. Although using them as a COM device does carry its own set of issues. I'm more familiar with honeywell and cognex scanners, but quickly browsing the realinn documentation I don't see a character replacement functionality.
Yes, the scanner is operating as a keyboard HID. I'll look into whether virtual COM could work. Will that still let it type into random webapp pages (how I use it now), or does that tie it rigidly to specific applications? (This question is based on this language from the Realinn manual - "9.2 USB virtual COM mode
In USB virtual COM mode, the scanner needs to work with driver and serial software.Expected final behavior is that even if you open up another page, the scanned information will show up in the window of serial software. Please let us know if you need to set it to USB virtual COMmode,we will send you the driver."
I assume that Virtual COM works with both USB and bluetooth?
If you're entering into a webpage, your best bet may be a different scanner. Virtual COM generally ties it to native applications (website COM interfaces are possible, but I'm assuming the website isn't yours to modify).
Another possibility is writing a native app that works like a shim: reading from the COM port and using APIs (e.g. SendKeys on Windows) to re-transmit the characters as keystrokes. But the most robust solution is probably a different scanner.
The website is mine to modify. I wouldn't go to great lengths to change things to support virtual COM, but if it's just a question of adding a few lines of javascript to listen to virtual COM and map to keypress events that would be possible.