|
Thanks for that. Though I couldn't make out much regarding resolution requirements. I think I'll just get a webcam with a high resolution. Or would facial recognition software not work then?
|
|
|
|
|
I have a barcode scanner which emulates the keyboard: when user scans a card with barcode, barcode text on the card appears in a textbox in my application.
The annoying thing is, when user touches the keyboard while scanning, whatever key the user presses will also appear in the textbox messing up the barcode text, causing "invalid input" error in my application. I told uers not to touch the keyboard while scanning, but that does not stop them, of course.
So I want to disable the keyboard. Here[^] is a solution I found (modifying windows registry). However, when I tried it, it disabled the keyboard and the barcode scanner so no barcode text will appear in my textbox.
How do I disable only the real keyboard and keep the barcode scanner working?
P.S. The barcode scanner and my application are running on a laptop, I can't just unplug the keyboard. Besides physically destroying the keyboard with hot coffee or liquid nitrogen, what else can I try?
|
|
|
|
|
Xiangyang Liu 刘向阳 wrote: How do I disable only the real keyboard and keep the barcode scanner working?
If your keyboard and scanner is USB based, then look into USB methods for disabling the keyboard. Warning! This will NOT be a simple call to a function to turn it on and off. You'll have to use the Setup API to do this. And frankly, this is a bad solution to the problem because this will turn the keyboard off for the entire system, not just your app. Now, what if your app crashes, or something else happens, after you turn off the keyboard, but before you turn it back on?? Not a good place to be...
How on earth are your users hitting the keyboard in the middle of a scan code that only takes a fraction of a second to show up??
You do not have to have users put the cursor in the correct box if your scanner supports (most do) prefixing and postfixing start and stop sequences to the scanned code. Your form code (with KeyPreview turned on) should look at each keystroke, looking for the prefix characters. If it's not part of the sequence, the keystroke gets passed on to the control it's destined for. If so, start looking for the stop code, but adding each character not part of the code to a string, until you see the stop code. These keystrokes do not get passed on to the destination code. Now you've got the code without having to use a TextBox. For the barcodes I was using, this normally took less than a tenth of a second.
|
|
|
|
|
Dave Kreskowiak wrote: How on earth are your users hitting the keyboard in the middle of a scan code that only takes a fraction of a second to show up??
Very good quesiton.
I understand your suggestion: The best solution is modifying my code to get rid of the problematic key presses from the user. Ok, I will do that.
Thanks a lot.
|
|
|
|
|
And then there's the hard way!
If I remember correctly your scanner could also emulate a serial port...
I guess Daves solution is better.My postings are a natural product. The slight variations in spelling and grammar enhance their individual character and beauty and are in no way to be considered flaws or defects.
|
|
|
|
|
Jörgen Andersson wrote: If I remember correctly your scanner could also emulate a serial port...
Nah, I prefer hot coffee or liquid nitrogen, but thanks anyway.
|
|
|
|
|
|
Bookmarked My postings are a natural product. The slight variations in spelling and grammar enhance their individual character and beauty and are in no way to be considered flaws or defects.
|
|
|
|
|
This is a common arrangement and the best method is to unplug the keyboard and use a mouse for the rest of the system.
The other alternative is to use a serial port barcdoe scanner which appears as a separate device and does not inject characters into the keyboard queue.
|
|
|
|
|
Suppose my process creates a new thread on a Quad-Core system. The OS decides to run the thread on the first core, for example.
My question is: will the thread keep running on the first core, no matter what, until it terminates (even if the second core becomes completely idle, while the first core is used for many threads simultaneously)? Or can the OS decide to "move" the execution of an existing thread from one core to another?
I've googled a lot but found no answer...
Thanks!
|
|
|
|
|
Ofer Gross wrote: will the thread keep running on the first core, no matter what?
No, it will prefer to continue on the same core (cache efficiency!), but does not have to (unless you start fiddling with "thread affinities", which I do not recommend).
Luc Pattyn [Forum Guidelines] [Why QA sucks] [My Articles]
I only read code that is properly formatted, adding PRE tags is the easiest way to obtain that. All Toronto weekends should be extremely wet until we get it automated in regular forums, not just QA.
|
|
|
|
|
I would say why do you want to know this, and if you did, I deffinitely wouldnt make assumptions based on such knowledge in code.
Morality is indistinguishable from social proscription
|
|
|
|
|
Adaptec no longer supports their game bridge products and only build their driver software for the XP sp2 environment.
Running an installer in compatibility mode as an administrator does nothing on Vista-64bit
The core problem here, Vista 64-bit does not recognize the drivers.
What is the process to rewrite these drivers from a 32-bit to a 64-bit OS?
There is a HUGE cry for them on several forums.
I have the complete install CD in ISO and in ZIP format on my domain here:
http://www.illuminatilegion.com/gamebridge/[^]
|
|
|
|
|
Unless you have the source code and a lot of experience writing driver level code then I doubt that you can do it. If you do have both these requirements then it should be a fairly simple but repetitive task to identify all the code portions that need changing. txtspeak is the realm of 9 year old children, not developers. Christian Graus
|
|
|
|
|
I'm having a hard time locating a low-profile, PCI Express video card that's using the small (x1) connector--and has a VGA connection. The more common (x16) connector won't do.
This needs to be low-profile, as the "taller" bracket at the back wouldn't fit my case.
Can anyone recommend something?
|
|
|
|
|
Unfortunately as you've noticed 1x cards are few, far between, and expensive.
If you have a steady hand the cheap option is to buy a cheap 16x low profile card and cut a notch in the connector after the contacts for the first lane so that it will fit in the 1x slot.
If you can't find a card with a VGA connector you can get a DVI-VGA adapter for a few bucks if your card doesn't come with one.3x12=36
2x12=24
1x12=12
0x12=18
|
|
|
|
|
Cut a notch? Seriously, Dan?
What the heck are the additional contacts for then?
|
|
|
|
|
Daniel Desormeaux wrote: Cut a notch? Seriously, Dan?
Yes. Totally. You could also cut out the back of the slot so that the card hung out the back; but oopsing on a mobo is more expensive than a bottom tier GFX card. Just make sure you make your cut past the last contact of the first lane and don't cut into the main part of the PCB.
Daniel Desormeaux wrote: What the heck are the additional contacts for then?
The other 15 lanes.
PCIe devices will negotiate the number of lanes downward if they don't have full contact. At 16x card will run at 8, 4, 2, or 1x if it only has that many lanes available. Due to the limited number of lanes available on chipsets 16x physical/8 (or 4) electrical slots are common. High end cards will bottleneck severely in a 1x slot; but low end cards have much lower bandwidth requirements. In any event it's no worse than if you bought one of the highly overpriced cards that only have a 1x physical connector.3x12=36
2x12=24
1x12=12
0x12=18
|
|
|
|
|
I like it!
It may sound daft but this will follow PCI Express specs as long as the power and ground requirements are met.
|
|
|
|
|
Power is provided by the short section closest to te back of the mobo. I suppose ground could be an issue; but I'd assume that since a 1x card has 9 ground connections and 8 power connections I assume it should be ok. The placement of the other grounds looks like it's done to suppress crosstalk between the datalanes. 3x12=36
2x12=24
1x12=12
0x12=18
|
|
|
|
|
Just as a follow-up:
I've ordered one of these[^]...which is probably a "cleaner" solution than what you suggested.
It is your suggestion that ultimately sent me on that search though, so thanks again. I wasn't even aware these existed. I'm not really a hardware guy.
|
|
|
|
|
Daniel Desormeaux wrote: It is your suggestion that ultimately sent me on that search though, so thanks again. I wasn't even aware these existed. I'm not really a hardware guy.
I hope you aren't planning to run with the card installed then. That riser will lift your card above the normal height. Depending on the case layout you might not even be able to seat the card with the backplate bracket attached. Even if you can you won't be able to screw it down to secure it. 3x12=36
2x12=24
1x12=12
0x12=18
|
|
|
|
|
I only need a video card in this system long enough to install an OS and then take it back out--I don't mind running without the backplate, or have it not screwed into place. Or even having the motherboard inside the case, for that matter.
|
|
|
|
|
I think Dan's solution is the best - he is right about the grounding aragnements etc.
|
|
|
|
|
For what Daniel actually needs the silly adapter isn't a bad option because it's only marginally more expensive than buying a card to mod. *shrug* 3x12=36
2x12=24
1x12=12
0x12=18
|
|
|
|