I still want the green & orange for a Fn key tho, if not a hassle. :)
To be honest, making it so it is a text file you must edit is all that needs to be done. So long as each key is documented there isn't a call for a more complex GUI :) Keep it up GAF!
Okay, my fake HID keyboard device just typed "hello" to me so I've got that under control. I need to wire it up to the normal chatpad stuff tomorrow, and then making the HID mouse should be a matter of lots of copy-and-paste work.
Amusing events of the evening:
1. Running a test program to make my fake HID keyboard device spit out a letter. Turns out the letter was "a" instead of a different letter I meant to print. Turns out that if you just send that one letter, but never tell the HID system that you STOPPED pressing it, it repeats forever! It took some puttering around until I could actually disable the device in device manager since the 'a' kept moving me to a different item. :lol:
2. Scan/key codes are always confusing since there are like three tables, right? Of course the ones I had been using previously don't work now since...HID devices use a different (USB) key code table. Figures. Got all that figured out now, though. :)
GAFBlizzard, if this gets to work, you are officially my hero :)
I hope it will work for Wireless as well, If it dont, i will have to try to rewrite the code :):peep:
Tired from working my normal job late and not getting enough sleep. All I did tonight was some fixes to make sure the virtual HID keyboard doesn't get keys stuck repeating when the keyboard is not in use, and start the process of linking the chatpad to use the virtual keyboard, with configurable key mappings. I also did a bit of research into scan codes since the chatpad has international characters. I am not sure if I can get them all to work since it depends on whether a real HID keyboard could use those characters without being configured for another languge, but we'll see. I may well release the driver with some of the special characters unused until I fix them later. :P
For those wanting configurable stuff, what I am working on is to let you specify a chatpad key and (optionally) modifiers, and map that to some action that's built into the driver/utility I am making, or to a keyboard key/modifier combination. This would let you have a line that say, configures CHATPAD_KEY_3 + CHATPAD_MODIFIER_ORANGE = KEYBOARD_KEY_F3. Then, having orange pressed (I'll probably have orange as a lock-on key that stays on until you press another key) and then pressing 3 on the chatpad would make your computer act like you pressed F3.
Also as a disclaimer now, I'm not providing support or built-in options for cheat-related things like making your controller a turbo controller, or hot-keying Street Fighter IV moves. I don't want Microsoft getting annoyed at anything, or Valve considering something crazy like VAC-banning for custom drivers (surely they wouldn't, but still). So anyways, that's how it's gonna be, and I'll do my best to provide support for useful things otherwise. :violin:
Tomorrow I should ACTUALLY get the chatpad driver linked up with the virtual HID keyboard. Another update tomorrow night hopefully. Thanks for all the encouraging words, people. :)
Just haveing a small and convient keyboard is good enough.
typeing virtually sucks xD
In light of Blizzard's work (which I am amazed by at this point from sheer anticipation XD), I wanted to ask a question...
You mentioned you're going to be configuring it through a virtual keyboard *and* mouse? If so, what part of the chatpad would be used for the mouse? (I can't remember perfectly but I don't recall arrow keys on it...) The only thing I can picture being the mouse would be the joystick? If that's the case, wouldn't that break the rule that it can't change the functionality of the original controller...?
I'm not trying to criticize your work GAF - the progress you have made is remarkable! But I'd like to point out what this project was originally designed to do: implement a driver for the chatpad... If the virtual mouse device would be controlled by something on the chatpad, I wouldn't mind, especially if it's optional. But assuming the mouse device would be through the joysticks or anything on the actual controller somewhere (i.e. not the chatpad), I would think this would be against that guideline since the original operation of the controller itself would be changed.
Not to mention, there is already software available (such as Joy2Mouse) that can map plenty of characters/VKCs/functions/etc. on the controller, which includes joystick->mouse... And it's pretty much a guarantee that most of us will be using something along those lines anyway. For example, I know I'm going to use it so the triggers will be volume up/down, which I can say is possible with Joy2Mouse. The only thing we can't operate is the chatpad, which is why we're looking forward to this driver, y'know? :)
Just wanted to see what everyone thought of this. I know a lot of people are giving you their input on features they'd like to see... but this is one that may be a fundamental issue.
Other than that, can't wait!
Wanted to specifically state that I'm inquiring as to the mouse device; the keyboard one is pretty much what we're looking for. XD It's hard to have a keyboard otherwise...
It is intended to be optional, and if I implement configurable chatpad keys properly, it will be completely optional. Now that you mention it, I can see about making the virtual mouse device optional, so it would not even be installed on your system if you don't want it. :)
The plan is to have a chatpad key (the little "people" button next to the spacebar by default) toggle a special controller mode. In this special mode, the 360 controller buttons and thumbsticks would COMPLETELY stop controlling the current game. Instead, the thumbsticks could move the mouse, controller buttons could act as mouse buttons, and I might even use one or two controller buttons to implement simple Windows ease-of-use things like alt-tabbing between applications. Pressing the people button again would make the light go out, and your controller would resume controlling the game as normal.
I added it because I thought it would be great to have mouse control, and I think some people want it. But again, it will be optional if you prefer not to use it. :high5:
That's incredible :high5: Thanks for the clarification.