PDA

View Full Version : USB Keyboard input don't work!!! Please Help



faaktoo
- 4th June 2008, 11:04
I send the charters to computer but how to recieve from computer aplication command turn the CAPS LOCK on or off.
It's possible that i don't have good KBDdesc.asm?
Please, please, HELP. I't urgent! I have good chance to get new job with this project!
Thank you!!!

skimask
- 4th June 2008, 14:16
Please, please, HELP. I't urgent! I have good chance to get new job with this project!
Thank you!!!
Then, just think, if somebody helps you figure out this 'project', and you get that new job, what happens when the next project comes down and you don't have the answer right away? You get to find another new job!!!

Squibcakes
- 5th June 2008, 01:29
Hey I know that job and I'm applying for it too. And guess what, I have the caps lock working!!!! I think they're going to give me the job now so you might as well give up.

Hahaha!

Squib
:)

skimask
- 5th June 2008, 01:55
Hahaha!
Squib
:)

Nope...you won't.
You didn't say the magic words...
Please Please Help Help Urgent! Plz! Danger Will Robinson! Danger! :D

faaktoo
- 5th June 2008, 09:07
I'm not born with intelect. We all need to learn to bee smart.
I think that forum member it here to help me and others to become a beter in programing PIC. Ok, i don't need this job, i'm stupid, i give up.
If you still want to help, thank you.

Best regards.

PJALM
- 5th June 2008, 10:27
You haven't even posted your code so how can we help you?

faaktoo
- 5th June 2008, 15:06
This is code for keyboard emulation(some keys) and kbddecs. It's work fine(sending ).

skimask
- 5th June 2008, 15:40
This is code for keyboard emulation(some keys) and kbddecs. It's work fine(sending ).

Where's the part that receive the commands for the LEDs on the keyboard?

faaktoo
- 6th June 2008, 08:38
Dousbin:
USBBufferCount = USBBufferSizeRX ' RX buffer size
USBService ' keep connection alive
USBIn 1, USBBuffer, USBBufferCount, Dousbin ' read data, if available

If USBBuffer[?] = ? then
PORTA = %00000001
else
PORTA = %00000000
endif
return
I'm tried If USBBuffer > 0 then


PS
Are "KBDDESCMOJA" OK?

faaktoo
- 6th June 2008, 08:45
Dousbin:
USBBufferCount = USBBufferSizeRX ' RX buffer size
USBService ' keep connection alive
USBIn 1, USBBuffer, USBBufferCount, Dousbin ' read data, if available

If USBBuffer[?] = ? then
PORTA = %00000010
else
PORTA = %00000000
endif
return

I'm tried
If USBBuffer > 0 then 'If recieve anything
PORTA = %00000010
endif
but nothing hepend

My friend it programing on VB6 and he give me a small prog for sending commands for LED's(ON-OFF).


PS
Are "KBDDESCMOJA" OK?

falingtrea
- 6th June 2008, 18:19
If you looked in the other thread (http://www.picbasic.co.uk/forum/showthread.php?t=8715) you would see the answer. You need to read the USB HID Class Device Description document from usb.org. In this document it tells you the exact format of the packet that the computer sends that has the status of the CAP Lock and other signals. You need to process this OUT packet.

faaktoo
- 12th June 2008, 13:32
How many bytes USB keyboard receives? When? Where is LED's data stored?

Squibcakes
- 13th June 2008, 01:31
Ok Faaktoo


Firstly the caps, numlock status are sent as bits in byte zero sent from the pc. These are are always sent from the pc on every DoUSBin service.



' BYTE 0 - LEDS STATUS (USBIN, OUTPUT REPORT)
'BIT 0 = NUM LOCK
'BIT 1 = CAPS LOCK
'BIT 2 = SCROLL LOCK
'BIT 3 = COMPOSE
'BIT 4 = KANA

'BIT <5:7> = NOT USED PADDED DATA


If you want to display the status of the caps, num lock, scroll lock on your pic than you could put some LEDs on a port and assign var to them , example:



' the leds
NUM VAR PORTB.0
CAPS VAR PORTB.1
SCRL VAR PORTB.2


If this bit is 1, the led is on. If it is 0, the led is off.

Than in your main program your can display the satus of the scroll lock etc in a DoUSBin routine.

Example



' ------------------------------------------------------------------------------

DoUSBIn:
' =======================================
' Check and receive data from the USB bus
' =======================================

USBBufferCount = USBBufferSizeRX ' RX buffer size
USBService ' keep connection alive
USBIn 1, USBBufferin, USBBufferCount, SHOWLEDS

SHOWLEDS:

NUM = USBBufferin.0(0) ' num lock
CAPS = USBBufferin.0(1) ' Caps lock
SCRL = USBBufferin.0(2) ' Scoll lock

return



To display the status of the Caps lock, Num lock etc on the keyboard (ie simulate the key press on a button connected to your pic) just send the key number for the caps, num lock etc as part of your DoUSBout Bytes.

For caps lock it is $39
For scroll Lock it is $47
For num lock it is $53.

BTW, You still haven't said please yet. ;)

mister_e
- 13th June 2008, 01:42
Why is this so hard to
find,
download
and use a USB sniffer as suggested many time here?

HHDSoft USB Monitor is one of the thousand one available.


BTW, You still haven't said please yet.
;)

Who's your daddy huh?

skimask
- 13th June 2008, 01:52
For caps lock it is $39
For scroll Lock it is $47
For num lock it is $53.
BTW, You still haven't said please yet. ;)

$139 for the code? Wow! :D

mister_e
- 13th June 2008, 01:59
All this time i thought i would make $D3 ;)

Squibcakes
- 13th June 2008, 02:01
Hahaha.

Very funny guys.

Have a great weekend! :)

faaktoo
- 13th June 2008, 21:33
I find the where is my firs problem. In KBDDESC.ASM. This file is designed one way only. I put one more endpoint and my DOUSBIN it start to work (finaly).

I'm sory for my English and thank you very mutch for the help.

Ha, I did it. I'm the men for the new job