Page 24 of 40 FirstFirst ... 141516171819202122232425262728293031323334 ... LastLast
Results 231 to 240 of 400

Thread: xbox360 chatpad, awsome backlit mini keyboard

  1. #231
    Newbie
    Join Date
    Sep 2008
    Posts
    3
    Grumbel: Nice with some more logs. Couple with your chatpad attach log and recent discoveries I think this could be more of a USB related problem than a protocol problem...

    I've been able to receive 1 key press then it's dead. This is the first USB device I'm coding for so I might be missing something. I'm gonna try to code a kernel mode driver this weekend and see if I can track down the problem better there.

    EP 6 <0x00 XX XX XX XX>:

    2nd byte flags:
    shift/capslock = 0x01
    square = 0x02
    circle = 0x04
    people = 0x08


    3rd byte keycodes:
    1 = 0x17
    2 = 0x16
    3 = 0x15
    4 = 0x14
    5 = 0x13
    6 = 0x12
    7 = 0x11
    8 = 0x67
    9 = 0x66
    0 = 0x65

    q = 0x27
    w = 0x26
    e = 0x25
    r = 0x24
    t = 0x23
    y = 0x22
    u = 0x21
    i = 0x76
    o = 0x75
    p = 0x64

    a = 0x37
    s = 0x36
    d = 0x35
    f = 0x34
    g = 0x33
    h = 0x32
    j = 0x31
    k = 0x77
    l = 0x72
    , = 0x62

    z = 0x46
    x = 0x45
    c = 0x44
    v = 0x43
    b = 0x42
    n = 0x41
    m = 0x52
    . = 0x53
    enter = 0x63

    left arrow = 0x55
    space = 0x54
    right arrow = 0x51
    backspace = 0x71

    4th byte: 2nd key down?
    5th byte: 3rd key down?


    The keycodes are a bit wierd I guess but it seems to be confirmed by the qqwweerrttyy logs.


    EP6 <0xF0 XX XX XX XX>:
    3rd byte is a flag/status byte for which keys are lit:
    people = 0x01
    square = 0x08
    circle = 0x10
    capslock = 0x20
    backlight on = 0x80

    I have to go to bed now.. damn work! But seems like hope is still alive to get the chatpad to work

  2. #232
    Newbie
    Join Date
    Jun 2008
    Posts
    40
    Quote Originally Posted by dwomac View Post
    I've been able to receive 1 key press then it's dead.
    Same here. Do you do it via this?

    ctrl 0x41 0x0 0x1f 0x02
    ctrl 0x41 0x0 0x5b 0x02

    Another thing I noticed is that normally the pad will completly die (LED goes out) when sending:

    ctrl 0x41 0x0 0x1e 0x02;wait 1.0 # 2
    ctrl 0x41 0x0 0x1f 0x02;wait 1.0 # 3
    ctrl 0x41 0x0 0x1e 0x02;wait 1.0 # 4
    ctrl 0x41 0x0 0x1f 0x02;wait 1.0 # 5
    ...

    like seen in the logs. But when I init the pad with the above it will continue to live, it won't send any more keys then the first, but buttons events are still answered and the LED continues to be lit.

  3. #233
    Newbie
    Join Date
    Sep 2008
    Posts
    3
    Yeah, seems about the same way. I was gonna post how I did it but then I noticed there's several ways todo it.

    But basicly from a newly connected controller you need to send 0x1F and 0x1B, order doesn't matter it seems. After that you can reset the controller from software and only send 0x1B to get the keypress. You can also use 0x1E instead of 0x1F i think.

    Edit: Removed for function stuff for now, the other bits does something

    Other stuff I've noticed about EP6 0xF0 is that if you reset the controller the 4th and 5th byte changes. Don't understand why, it seems pretty random and once in a blue moon i get the 2nd byte to be 0x04. Where in the log it's time to send ctrl 0x00/0x18. I think this might be related to why a keypress can get through, it's just a matter of what you send after resetting the device.

    Edit: EP6 0xF0's 4th and 5th byte is incrementing each time you send 1F or 1E, and resets back to 0 after 0x0F. Sometimes sending multiple 0x1F and 0x1E without reading from EP6 doesn't increment it though. Not sure how that works... maybe if you read from ep6 once it will continue to increment it even though you don't read anymore after that.


    I'm still clinging onto libusb, I have VMWare Workstation so kernel mode development isn't that much of a pita but still pretty annoying turn around time while testing (on Windows). But if I want to get any further to make sure it isn't an USB related problem I guess I have to go there.

  4. #234
    Newbie
    Join Date
    Dec 2008
    Posts
    21
    hey guys just wondering if there's still interest in this... i found a software only usb analyzer that has a fully functional trial I've been poking around and seems it could be useful for debugging as it also has the information from the system controller etc.. anyway hope it's useful in some kind as i still haven't lost hope of finding or coding a driver for this thing!


    http://www.usblyzer.com/

  5. #235
    Newbie
    Join Date
    Jun 2008
    Posts
    40
    Quote Originally Posted by jeduars View Post
    i found a software only usb analyzer that has a fully functional
    The trouble is that Microsoft doesn't support the Chatpad on Windows, so you can't really find out much with it.

  6. #236
    Newbie
    Join Date
    Dec 2008
    Posts
    21
    well i know it's not supported but i was thinking there might be a way to kinda hack the protocol out of traffic being sent on chatpad key presses and then recode a HID driver with the keys accesible to the OS...... so far i hooked it to windows with the microsoft drivers and I apparently DO get some packets sent whenever i press something on the keyboard... unfortunately I haven't had the chance to look more into that and make sure i'm not seeing at something else...

  7. #237
    xrs
    xrs is offline
    Newbie
    Join Date
    Jan 2009
    Posts
    1
    Quote Originally Posted by dwomac View Post
    Grumbel: Nice with some more logs. Couple with your chatpad attach log and recent discoveries I think this could be more of a USB related problem than a protocol problem...

    I've been able to receive 1 key press then it's dead.
    Hi, I haven't followed the whole post, so please don't shoot me.
    From my understanding within my own research, is that the firmware within the chatpad is the main issue. The chatpad state is dictated via commands sent from the xbox. So its state needs to be changed before it will properly send outputs, but even then I donít think itís really outputs, but interrupts?
    Really I think someone needs the USB protocol analyser and the XBOX360 XNA Kit.

    Send the KeyboardState GetState command from the Xbox360 to the controller, log that.

    Send (newState.IsKeyDown(Keys.Space)) //---- change Keys.Space to the keys listed above.

    Again I really do apologies if Iím just repeating what has already been discovered or discussed. I hate to make extra noise.
    I myself am just really eager to find a solution.

    http://a3w.ivory.ne.jp/softwares/xpcc_en.html
    http://msdn.microsoft.com/en-us/library/bb975640.aspx
    http://msdn.microsoft.com/en-us/library/bb203902.aspx

    Happy Hunting

  8. #238
    Newbie
    Join Date
    Jun 2008
    Posts
    40
    Quote Originally Posted by xrs View Post
    From my understanding within my own research, is that the firmware within the chatpad is the main issue.
    No, the main issue right now is simply that the chatpad stops sending stuff after the first two responses. We can get the chatpad inited, change its LEDs and read a single keypress from it, but after that its dead (see a few posts above for init code).

    This is archived in Linux with libusb, it might very well be just a fluke in libusb or my lack of USB knowledge that is causing this and nothing related to the chatpad itself. So it would be helpful if somebody tries to send data on a different OS or via a kernel driver on Linux to see if that changes anything.

  9. #239
    Newbie mystkrh's Avatar
    Join Date
    Aug 2003
    Posts
    15
    Hey Grumbel any chance i can get a copy of that code from you? I just picked up one of these chatpads and I'de really like to get it to work on the Pc. I've looked over the ubs captures and have a few ideas, but i want to see what you have done.

  10. #240
    Newbie
    Join Date
    Jun 2008
    Posts
    40
    Quote Originally Posted by mystkrh View Post
    Hey Grumbel any chance i can get a copy of that code from you?
    I haven't written anything for the chatpad itself, I did use a little Linux tool I wrote called usbdebug that is part of xboxdrv, available via git with:

    git clone http://pingus.seul.org/~grumbel/xboxdrv.git

    With that tool I can send messages to usb devices, to read a keyboard its then just a matter of:

    % ./usbdebug 045e:028e
    usb> claim 0 1 2 3
    usb> listen 5 6 1
    usb> ctrl 0x41 0x0 0x1f 0x02
    >>> Ep1: [3] { 0x08, 0x03, 0x01 }
    usb> ctrl 0x41 0x0 0x5b 0x02
    usb> ctrl 0x41 0x0 0x5b 0x02
    >>> Ep6: [5] { 0x00, 0x00, 0x33, 0x00, 0x00 } // thats the keypress

    After that last line of course the chatpad refuses to send anything more, which is where I am stuck at.

    All the LED codes are listed in one of my previous posts.

Similar Threads

  1. PDA Mini Keyboard
    By BriansNSane in forum Input Devices
    Replies: 1
    Last Post: 02-08-2006, 07:17 PM
  2. FS....Super Mini Electron luminescent Keyboard
    By Letsride in forum Classified Archive
    Replies: 9
    Last Post: 06-13-2005, 02:18 AM
  3. Industrial mini keyboard -ebay
    By g60 in forum Classified Archive
    Replies: 0
    Last Post: 04-18-2001, 06:51 PM
  4. Backlit Keyboard
    By Caviar in forum General Hardware Discussion
    Replies: 1
    Last Post: 04-03-2001, 09:35 PM
  5. backlit keyboard
    By blkdragon6 in forum General Hardware Discussion
    Replies: 1
    Last Post: 12-03-1999, 11:47 PM

Bookmarks

Posting Permissions

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