USB Keyboard input don't work!!! Please Help


Closed Thread
Results 1 to 18 of 18

Hybrid View

  1. #1
    Join Date
    Jan 2006
    Location
    Toronto
    Posts
    109

    Default

    You haven't even posted your code so how can we help you?

  2. #2
    Join Date
    Jan 2008
    Posts
    13

    Default Ok

    This is code for keyboard emulation(some keys) and kbddecs. It's work fine(sending ).
    Attached Files Attached Files
    Last edited by faaktoo; - 5th June 2008 at 15:10. Reason: I forgat files

  3. #3
    skimask's Avatar
    skimask Guest

    Default

    Quote Originally Posted by faaktoo View Post
    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?

  4. #4
    Join Date
    Jan 2008
    Posts
    13

    Default Somthing like this?

    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?

  5. #5
    Join Date
    Jan 2008
    Posts
    13

    Default Somthing like this?

    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?

  6. #6

    Default

    If you looked in the other thread 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.
    Tim Barr

  7. #7
    Join Date
    Jan 2008
    Posts
    13

    Default I dont understand

    How many bytes USB keyboard receives? When? Where is LED's data stored?
    Attached Images Attached Images  

  8. #8
    Join Date
    Oct 2003
    Location
    Australia
    Posts
    257

    Cool

    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.

    Code:
    ' 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:

    Code:
        ' 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

    Code:
    ' ------------------------------------------------------------------------------     
       
    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.
    Last edited by Squibcakes; - 13th June 2008 at 01:35.

Similar Threads

  1. Simple USB Comms Problem
    By awmt102 in forum mel PIC BASIC Pro
    Replies: 0
    Last Post: - 6th January 2010, 20:17
  2. AT/PS2 Keybord - PIC Interface?
    By Kamikaze47 in forum Code Examples
    Replies: 73
    Last Post: - 9th August 2009, 16:10
  3. One USB keyboard to Two USB Ports
    By picnaut in forum mel PIC BASIC Pro
    Replies: 1
    Last Post: - 11th June 2009, 00:04
  4. Replies: 3
    Last Post: - 10th April 2008, 10:02
  5. PICBasic newbie problem
    By ELCouz in forum mel PIC BASIC Pro
    Replies: 32
    Last Post: - 12th February 2008, 00:55

Members who have read this thread : 0

You do not have permission to view the list of names.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts