Main Restorations Software Audio/Jukebox/MP3 Everything Else Buy/Sell/Trade
Project Announcements Monitor/Video GroovyMAME Merit/JVL Touchscreen Meet Up Retail Vendors
Driving & Racing Woodworking Software Support Forums Consoles Project Arcade Reviews
Automated Projects Artwork Frontend Support Forums Pinball Forum Discussion Old Boards
Raspberry Pi & Dev Board controls.dat Linux Miscellaneous Arcade Wiki Discussion Old Archives
Lightguns Arcade1Up --- Bug Reports --- Site News

Unread posts | New Replies | Recent posts | Rules | Chatroom | Wiki | File Repository | RSS | Submit news

  

Author Topic: Bluetooth Keyboard Interface Board  (Read 1110 times)

0 Members and 1 Guest are viewing this topic.

corndwg01

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 21
  • Last login:August 01, 2018, 10:07:06 pm
Bluetooth Keyboard Interface Board
« on: July 11, 2014, 07:14:36 pm »
I've been out of the "game" (no pun intended)  for a couple years now, but have an idea for a new project. Does anyone make a Bluetooth Keyboard interface board like an I-pac or Key Wiz. Is there anyway to make an I-pac or Key Wiz wireless?

ark_ader

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 5645
  • Last login:March 02, 2019, 07:35:34 pm
  • I glow in the dark.
Re: Bluetooth Keyboard Interface Board
« Reply #1 on: July 11, 2014, 07:52:19 pm »
Hack a wireless keyboard. You can pick up a BT Keyboard cheap on eBay.
If I had only one wish, it would be for three more wishes.

PL1

  • Global Moderator
  • Trade Count: (+1)
  • Full Member
  • *****
  • Online Online
  • Posts: 7224
  • Last login:Today at 09:49:30 am
  • Designated spam hunter
Re: Bluetooth Keyboard Interface Board
« Reply #2 on: July 11, 2014, 08:16:39 pm »
You might look into the Bluefruit mentioned here or maybe a wireless gamepad hack.   :dunno

I would avoid hacking a wireless keyboard since there is a 6-button limit on USB keyboards running in "boot protocol" mode.

Almost all arcade-style encoders do not run in that mode. (IIRC, the X-Arcade encoder is the only one with this limitation)


Scott

corndwg01

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 21
  • Last login:August 01, 2018, 10:07:06 pm
Re: Bluetooth Keyboard Interface Board
« Reply #3 on: July 11, 2014, 11:02:47 pm »
That Bluefruit looks very promising, it just sucks that it's only 12 inputs.

What is boot protocol and why should I be concerned?

corndwg01

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 21
  • Last login:August 01, 2018, 10:07:06 pm
Re: Bluetooth Keyboard Interface Board
« Reply #4 on: July 11, 2014, 11:17:05 pm »
I think I may have just found a solution with this little gizmo. It seems to have good reviews across the Internet.
http://handheldsci.com/kb

MonMotha

  • Trade Count: (+2)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 2378
  • Last login:February 19, 2018, 05:45:54 pm
Re: Bluetooth Keyboard Interface Board
« Reply #5 on: July 11, 2014, 11:31:49 pm »
What is boot protocol and why should I be concerned?

"Boot protocol" mode is a stripped down subset of USB HID (the overarching standard for USB "Human Interface Devices" like keyboards, mice, joysticks, gamepads, etc.) designed to make it easy to support keyboards and mice with very limited code in the BIOS.  This was very important back before operating systems had widespread support for USB, and it's still sometimes needed in order for the keyboard to be usable in the "BIOS setup" type screens, though some new BIOSes and EFI systems include full HID support.  Windows 95 OSR2 also only supported this mode, but every OS since Windows 98 (though somewhat limited), including Windows 2000 and newer, has had full HID support.

This mode has a limitation of 6 simultaneous keypresses on keyboards.  If you exceed 6 simultaneous keys pressed, the keyboard will indicate "rollover".

It is not REQUIRED that all keyboards run in this mode, but most conventional keyboards do so that they have maximal compatibility.  The USB HID standard clearly intended for almost all keyboards to implement alternate settings that would remove the 6-key limitation, but in practice no cheap keyboard does, and it would require special "drivers" on Windows to support switching to that mode, anyway.  Some high-end keyboards, like Das Keyboard, get around this by having a special hotkey sequence to toggle between boot protocol mode and a mode with no (or a very high) limit on simultaneous keypresses.  Most arcade encoder boards using specialized firmware, rather than off-the-shelf keyboard controller silicon, never run in this mode, since rarely does anybody want to us Windows 95 OSR2 or set up their PC's BIOS settings using their arcade control panel.

Support for an arbitrary number of simultaneous keypresses is commonly called "Full N-key Rollover".  Contrary to what seems to be somewhat common belief, this is fully possible with USB, but you do have to give up boot protocol mode to do it.

Super annoyingly, a lot of PS/2 to USB adapters not only are restricted to boot protocol mode (and hence 6 simultaneous keypresses), they also cancel all active keys after some lengthy-but-easily-encountered period.  This makes them unsuitable for gaming.

There is a similar "boot protocol" mouse profile.  This is not so common these days, since it has an arbitrary limitation on the number of buttons and axes that many common gaming mice, etc. exceed, and nobody really cares about having mouse support when running their BIOS setup.  It was mostly important for a couple years where USB mice were starting to become popular (supplanting PS/2 and serial mice) but OS support hadn't caught up yet.  In those cases, the BIOS emulated a PS/2 mouse in software, and generally it only supported the boot protocol mode.

PL1

  • Global Moderator
  • Trade Count: (+1)
  • Full Member
  • *****
  • Online Online
  • Posts: 7224
  • Last login:Today at 09:49:30 am
  • Designated spam hunter
Re: Bluetooth Keyboard Interface Board
« Reply #6 on: July 12, 2014, 12:33:43 am »
Has anyone bought the Bluefruit encoder?

I'm wondering if:
 1. You can customize the output keystrokes.
 2. You can use more than one at the same time.

I think I may have just found a solution with this little gizmo. It seems to have good reviews across the Internet.
http://handheldsci.com/kb
$59 seems a bit on the expensive side, but if you combine it with an Ultimarc PS/2 IPac or a GGG PS/2 KeyWiz, it might be a fairly plug-and-play choice.   :dunno

The PS/2 protocol does not have the 6-key limit.


Scott

ark_ader

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 5645
  • Last login:March 02, 2019, 07:35:34 pm
  • I glow in the dark.
Re: Bluetooth Keyboard Interface Board
« Reply #7 on: July 12, 2014, 01:15:35 am »
Like the USB version of the xarcade, who hits 6 buttons or inputs at exactly the same time?
If I had only one wish, it would be for three more wishes.

PL1

  • Global Moderator
  • Trade Count: (+1)
  • Full Member
  • *****
  • Online Online
  • Posts: 7224
  • Last login:Today at 09:49:30 am
  • Designated spam hunter
Re: Bluetooth Keyboard Interface Board
« Reply #8 on: July 12, 2014, 04:33:29 am »
Like the USB version of the xarcade, who hits 6 buttons or inputs at exactly the same time?
Two players hitting joystick diagonals and pressing two buttons at the same time = 8 inputs.

BTW, this is the same basic answer that you keep evading, even though some variation on it it is mentioned in most (if not all) of the "X-Arcade encoder limits" threads where I've read your replies.  :P

Given how clearly ABACABB (and others) spelled it out for you here, I'm surprised you continue to ignore the limitations of the X-Arcade encoder in USB mode.

As your therapist may have told you, denial isn't just a river in Egypt.   :lol


Scott

keilmillerjr

  • Trade Count: (+5)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1654
  • Last login:Yesterday at 08:13:11 am
  • Web Developer.
Re: Bluetooth Keyboard Interface Board
« Reply #9 on: July 12, 2014, 07:35:11 am »
Break down a ps3 or xbox 360 controller?

ark_ader

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 5645
  • Last login:March 02, 2019, 07:35:34 pm
  • I glow in the dark.
Re: Bluetooth Keyboard Interface Board
« Reply #10 on: July 12, 2014, 12:45:40 pm »
Like the USB version of the xarcade, who hits 6 buttons or inputs at exactly the same time?
Two players hitting joystick diagonals and pressing two buttons at the same time = 8 inputs.

BTW, this is the same basic answer that you keep evading, even though some variation on it it is mentioned in most (if not all) of the "X-Arcade encoder limits" threads where I've read your replies.  :P

Given how clearly ABACABB (and others) spelled it out for you here, I'm surprised you continue to ignore the limitations of the X-Arcade encoder in USB mode.

As your therapist may have told you, denial isn't just a river in Egypt.   :lol


Scott


One of my greatest strengths is being consistent.  USB X Arcade with a 5-1 and the Xbox 360 adapter hooked up to the PC works around this problem.   Also you can rip out the encoder and stick in two KADES instead.  You can argue the latter if you wish. :)
If I had only one wish, it would be for three more wishes.

PL1

  • Global Moderator
  • Trade Count: (+1)
  • Full Member
  • *****
  • Online Online
  • Posts: 7224
  • Last login:Today at 09:49:30 am
  • Designated spam hunter
Re: Bluetooth Keyboard Interface Board
« Reply #11 on: July 12, 2014, 09:27:12 pm »
One of my greatest strengths is being consistent. 
You are consistent in your utterly shameless love of the X-Arcade encoder.   ;D   :lol

USB X Arcade with a 5-1 and the Xbox 360 adapter hooked up to the PC works around this problem.   
This is the kind of info that people need to know in order to make an informed decision.

If you haven't already done so, please consider posting a thread with a detailed step-by-step/links/pics for this work-around so prospective buyers understand the technical details. (What's a "5-1"? etc.)

It can also be a one-stop thread where you answer the concerns and details unique to the X-Arcade encoder, such as each connector having a separate common (isolated ground) from the other connectors -- this info is currently spread across many threads and can be rather hard to find.

If you don't mind putting together a thread like this, I will gladly add a link to it in the X-Arcade encoder wiki entry.   :cheers:

Also you can rip out the encoder and stick in two KADES instead.  You can argue the latter if you wish. :)
One could do that, but it's not about which encoder I prefer or which encoder you prefer -- it's about which encoder meets OP's specs/desires/skills/budget.

I didn't mention KADEs since they aren't wireless and the prototype (maxArcade) that might work with the wireless adapter he posted above is still in early beta testing.   ;D


Scott
EDIT: Added link in wiki to your mention above of the work-around.
Will update to a better link if you have one, Ark.   ;D
« Last Edit: July 12, 2014, 09:58:15 pm by PL1 »

ark_ader

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 5645
  • Last login:March 02, 2019, 07:35:34 pm
  • I glow in the dark.
Re: Bluetooth Keyboard Interface Board
« Reply #12 on: July 13, 2014, 06:32:04 am »
I shall as I have time and all the toys ready to go.

I should have wiki access.   :cheers:
If I had only one wish, it would be for three more wishes.

sharpfork

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 611
  • Last login:June 22, 2019, 09:35:35 pm
Re: Bluetooth Keyboard Interface Board
« Reply #13 on: July 13, 2014, 10:47:28 am »
How many players, how many encoder pins do you need per player, and is a Wiimote a valid interface for your protect?

corndwg01

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 21
  • Last login:August 01, 2018, 10:07:06 pm
Re: Bluetooth Keyboard Interface Board
« Reply #14 on: July 13, 2014, 02:58:48 pm »
I want to build a wireless pedestal type control panel for two players. The idea being I have media center PCs in a couple rooms. The pedestal could be moved from room to room and connect to the PC in that room. Due to the PCs being stored remotely away from the actual screen/TV, I need it to be wireless.

ark_ader

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 5645
  • Last login:March 02, 2019, 07:35:34 pm
  • I glow in the dark.
Re: Bluetooth Keyboard Interface Board
« Reply #15 on: July 13, 2014, 10:38:02 pm »
OK I'm talking out loud here, but if it is a pedestal then the control part is mute and we are talking wireless video.
If I had only one wish, it would be for three more wishes.

PL1

  • Global Moderator
  • Trade Count: (+1)
  • Full Member
  • *****
  • Online Online
  • Posts: 7224
  • Last login:Today at 09:49:30 am
  • Designated spam hunter
Re: Bluetooth Keyboard Interface Board
« Reply #16 on: July 14, 2014, 01:47:06 am »
I think he's shhoting for something more like this.

HTPC (gray) serves audio/video to screens (blue) in different rooms.

Wireless control panel pedestal (red) can be moved to either room or stored in closet when not in use.


Scott

corndwg01

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 21
  • Last login:August 01, 2018, 10:07:06 pm
Re: Bluetooth Keyboard Interface Board
« Reply #17 on: July 15, 2014, 12:31:22 am »
Yep PL1 has the right idea. Something like that and/or same idea but with two PCs in the two different rooms with the red pedestal being moved from room to room.

dkersten

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1472
  • Last login:August 28, 2018, 12:25:03 pm
  • If you are gonna do it, do it right..
Re: Bluetooth Keyboard Interface Board
« Reply #18 on: July 15, 2014, 11:23:50 am »
The only things I can think of here would be to use a thin client with wifi in the pedestal and control the HTPC remotely through that, but latency would be a problem.  NVidia has made some big strides in remote pc control with games, but making that tech work for an arcade control might be tricky.

That leaves RF.  There are plenty of RF keyboards out there for HTPC's, but I have no idea if they could be hacked for this or if they would be able to transmit more than a few simultaneous keystrokes at once.  I imagine keystrokes would be relatively easy to emulate, but since most mouse control with RF remotes is done via touchpad and not optical any more, it would probably be pretty hard to emulate that. 

Personally if you were more than 10 feet away, I would avoid Bluetooth.  Most BT devices are class 2 and the range is usually less than 30 feet in open air, less with walls in place, and at max range the signal is spotty at best.  A class 1 device and receiver might do better, but they are harder to find.  I found a cheap class 1 BT usb dongle for my PC, but the BT speaker I wanted to run off it is class 2 and even 20 feet away through 3 walls it can't discover it.  BT is just so unreliable in most cases, which is why I would look to RF.

ark_ader

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 5645
  • Last login:March 02, 2019, 07:35:34 pm
  • I glow in the dark.
Re: Bluetooth Keyboard Interface Board
« Reply #19 on: July 15, 2014, 06:14:55 pm »
OK I am thinking out loud again here.

I use a similar set up with my tablets.  I have Mame and games installed on the tablet and I like to be able to play them on the big screen.  Actually I'm typing on a 32" TV via the same method completely wireless.  The software I use is Splashtop HD.  I can play games like WOW on the tablet and remote control games on the big screen.  I think this is a client issue and if you moved to a Android platform, you can have a wireless control pad and still have functionality.

Remember, we are not talking about running Android Mame or anything like that (you could do that to make things more simpler).  You are just using the Android device (a cheap MK808 will do) as a controller.  Going back to PL1 and his Kades mention a few posts back is more what I was referencing.  The android device is the client to whatever device you want to plug in.  Another product that works similar is DroidMote.  When you have the server software installed on the PCs in question you can swap between them and use the same devices connected to the android client. Wire up your CP via two KADES using Android Firmware and you are golden.

The data is transferred via Wifi and I do not experience any lag.  I am currently retrofitting my X arcade with two KADES and the MK808b for this very same purpose.
If I had only one wish, it would be for three more wishes.

dkersten

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1472
  • Last login:August 28, 2018, 12:25:03 pm
  • If you are gonna do it, do it right..
Re: Bluetooth Keyboard Interface Board
« Reply #20 on: July 16, 2014, 11:57:01 am »
But can you send any kind of analog or optical data through that interface?  I can see keystrokes easy enough, but transmitting axes from various analog devices is a whole other animal.  Particular considering that most modern "mouse" type devices are no longer analog in nature.  Just wondering on this, I have no intention of trying to come up with a remote control panel myself. 

ark_ader

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 5645
  • Last login:March 02, 2019, 07:35:34 pm
  • I glow in the dark.
Re: Bluetooth Keyboard Interface Board
« Reply #21 on: July 16, 2014, 05:53:45 pm »
But can you send any kind of analog or optical data through that interface?  I can see keystrokes easy enough, but transmitting axes from various analog devices is a whole other animal.  Particular considering that most modern "mouse" type devices are no longer analog in nature.  Just wondering on this, I have no intention of trying to come up with a remote control panel myself.

I am not sure about analogue controls like thumb pads or mouse but it is a nice experiment to conduct.  I have a BT gamepad and I will try this out tonight as it connects to the android device.  I tried using the MK808b but I could not get a reliable power source as this is a wireless operation, so I have a Galaxy Note 2 that can keep a good charge and do the same job with an OTG USB connection.  I looked at using the my Galaxy S phone with BluezIME but was unsure if Honeycomb was supported with DroidMote for Splashtop for this scenario.  IF it does then there is a possibility of having a full solution for less than 50 or whatever the Samsung Galaxy S goes for these days.

Edit:  I was just looking at PL1's signature image of one CP and HTPC and two displays.  If both these displays had a MK808 attached and were mirrored display from the HTPC, all you would have to do is assign an IP address to the Phone/Tablet and  that would reduce the effort by half.
« Last Edit: July 16, 2014, 06:07:19 pm by ark_ader »
If I had only one wish, it would be for three more wishes.

SavannahLion

  • Wiki Contributor
  • Trade Count: (+1)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 5986
  • Last login:December 19, 2015, 02:28:15 am
Re: Bluetooth Keyboard Interface Board
« Reply #22 on: July 16, 2014, 11:22:08 pm »
Not to steal away the thread.

What is boot protocol and why should I be concerned?

"Boot protocol" mode is a stripped down subset of USB HID (the overarching standard for USB "Human Interface Devices" like keyboards, mice, joysticks, gamepads, etc.) designed to make it easy to support keyboards and mice with very limited code in the BIOS.  This was very important back before operating systems had widespread support for USB, and it's still sometimes needed in order for the keyboard to be usable in the "BIOS setup" type screens, though some new BIOSes and EFI systems include full HID support.  Windows 95 OSR2 also only supported this mode, but every OS since Windows 98 (though somewhat limited), including Windows 2000 and newer, has had full HID support.

This mode has a limitation of 6 simultaneous keypresses on keyboards.  If you exceed 6 simultaneous keys pressed, the keyboard will indicate "rollover".

It is not REQUIRED that all keyboards run in this mode, but most conventional keyboards do so that they have maximal compatibility.  The USB HID standard clearly intended for almost all keyboards to implement alternate settings that would remove the 6-key limitation, but in practice no cheap keyboard does, and it would require special "drivers" on Windows to support switching to that mode, anyway.  Some high-end keyboards, like Das Keyboard, get around this by having a special hotkey sequence to toggle between boot protocol mode and a mode with no (or a very high) limit on simultaneous keypresses.  Most arcade encoder boards using specialized firmware, rather than off-the-shelf keyboard controller silicon, never run in this mode, since rarely does anybody want to us Windows 95 OSR2 or set up their PC's BIOS settings using their arcade control panel.

Support for an arbitrary number of simultaneous keypresses is commonly called "Full N-key Rollover".  Contrary to what seems to be somewhat common belief, this is fully possible with USB, but you do have to give up boot protocol mode to do it.

Super annoyingly, a lot of PS/2 to USB adapters not only are restricted to boot protocol mode (and hence 6 simultaneous keypresses), they also cancel all active keys after some lengthy-but-easily-encountered period.  This makes them unsuitable for gaming.

There is a similar "boot protocol" mouse profile.  This is not so common these days, since it has an arbitrary limitation on the number of buttons and axes that many common gaming mice, etc. exceed, and nobody really cares about having mouse support when running their BIOS setup.  It was mostly important for a couple years where USB mice were starting to become popular (supplanting PS/2 and serial mice) but OS support hadn't caught up yet.  In those cases, the BIOS emulated a PS/2 mouse in software, and generally it only supported the boot protocol mode.

Interestingly, if you read the Adafruit Bluefruit page, you'll find this little blurb:
Quote
When a switch is pressed, a KEYDOWN command is sent, when it is release, a matching KEYUP goes out. You can have up to 6 switches pressed at once and it will be like they were pressed all at the same time. 6 is a strict limit of Bluetooth.

I have yet to see any sort of documented 6 key limitation imposed via BT. Everything I found using my SearchFU is anecdotal so I suspect the BT limit is directly tied into the USB boot protocol. AFAIK, Adafruit haven't released the source code for their Bluefruit so I have to wonder if the firmware is derived from some Vanilla reference leaving their device in a reduced compatibility mode. Any insight on that?

corndwg01

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 21
  • Last login:August 01, 2018, 10:07:06 pm
Re: Bluetooth Keyboard Interface Board
« Reply #23 on: August 01, 2014, 08:49:03 am »
That's right, I found out the 6 key limit is a USB limit.  I heard back from the handheldsci.com guy and that's what he told me.

PL1

  • Global Moderator
  • Trade Count: (+1)
  • Full Member
  • *****
  • Online Online
  • Posts: 7224
  • Last login:Today at 09:49:30 am
  • Designated spam hunter
Re: Bluetooth Keyboard Interface Board
« Reply #24 on: August 01, 2014, 09:38:40 am »
That's right, I found out the 6 key limit is a USB limit.  I heard back from the handheldsci.com guy and that's what he told me.
His product may have that limit, but that doesn't make it a USB limit.

I'd trust SavannahLion, Andy Warne, and the KADE team over "the handheldsci.com guy" on this, especially since Andy and the KADE team both sell a variety of products that easily exceed that "USB limit".   :lol


Scott

MonMotha

  • Trade Count: (+2)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 2378
  • Last login:February 19, 2018, 05:45:54 pm
Re: Bluetooth Keyboard Interface Board
« Reply #25 on: August 03, 2014, 12:09:24 am »
I don't know as much about BT HID.  I know it's derived from/similar to USB HID.  BT HID may mandate boot protocol mode.  There may also be an old pre-HID BT keyboard standard that works more like the PS/2 keyboard interface which sends key up/down events rather than just continually reporting on which keys are pressed like HID does.  BT in general carries a lot of legacy cruft left over from the early days when it had to work with very dumb phones and such.  It didn't have the benefit of an early, open standardization process focusing on comparatively capable hosts like USB HID did.

The 6 key limit on USB definitely comes from boot protocol, and there's nothing that says you can only make a keyboard that runs only in boot protocol mode - the standard is fairly clear about this.  The standard DOES require that keyboards use array format data (list of keycodes), rather than variable (bitfield of keys), though I've found that at least Linux and Windows XP and newer will accept variable format data on keyboards.  The standard does not require that the array length be limited to 6 when not operating in boot protocol mode, and one could simply increase the length of the array to the point where rollover is extremely unlikely (more than you have fingers) or impossible (equal to the number of keys on the keyboard) at the expense of making the report huge.  I'm not sure if the recommendation that the OS actively change the device from boot protocol to report protocol is actually implemented by anything; I've never tested for this.

See appendix B and C of the USB HID 1.1 standard.

Things like keyboard encoders that aren't actual keyboards generally have no need to be boot devices and hence don't need to worry about boot protocol at all.