Gamepad
A BD gamepad allows enhanced gameplay for 2D games on Blu-ray players. If a developer wishes to make a BD gamepad, it must be open source to ensure standardization, openness, competition, and full compatibility like the remote control. This article is about a "generic" BD gamepad for standard BD players, not Xbox and PlayStation controllers.
Connectivity
A BD gamepad should use both WI-FI and IR signals.
To connect a BD gamepad to a BD player it must use WI-FI (for a physical connection, it must use a USB-to-Ethernet cable). And most importantly, the BD-J game itself must be programmed to use a BD gamepad, if not, it won't work. WI-FI is suitable for games with complex controls and local multiplayer. Since it uses a WI-FI connection, it is classified as a Class 1 controller because a user can have multiple buttons simultaneously.
To connect a gamepad using Infrared signals (IR) it must use control codes like a universal remote. The D-pad, enter button, and colored buttons can act as a substitute for number keys (0-9) to find the remote codes. The downside of using IR is that it requires line-of-sight and can sometimes have input lag if something is in the way. Since a BD gamepad acts like a "remote" using Infrared signals (IR), it is classified as a Class 2 controller since the user can hold one button at a time. Infrared is suitable for games with simple controls and single-player experiences.
Another way to connect a BD gamepad to a Blu-ray player is using the Consumer Electronics Control (CEC). It's a feature of HDMI designed to control HDMI connected devices using only one remote controller. CEC is a separate electrical signal (Pin 13) from the other HDMI signals.
BD gamepads should support BOTH IR and WI-FI connections for full compatibility.
Local Multiplayer
For local multiplayer, it should use a WI-FI connection (LAN). Infrared most likely won't work because of too much interference and lag.Haptic Feedback Support
Gamepad Design
The design of a standard BD gamepad should look similar to Super Famicom controller because it's influential iconic design and has became a standard for generic game controllers.
The design and layout also comply with the standard BD virtual keycodes (defined by Java via GEM) and are suitable not only for games but movies and music as well.
Colored buttons should be Red, Green, Blue, and Yellow since it's an international standard. NOTE: It's not recommended to use the Brown and Grey bottoms since they're uncommon.
The D-pad should be in four directions: Up, Down, Left, and Right. In the center, it should have the "Enter" button.
Should include a Pop-Up Menu (on the left) to acess the game's menu and a Play/Pause combination button (on the right) to pause and resume the game.
All BD gamepads should have a "Home" button to allow you to exit the BD application and go to the BD player's home menu.
All BD remote controls use Virtual Keys and Keycodes, an international standard to assign button keys to remote controls and keyboards. The Virtual Keys and Keycodes are defined and recognized by Java (via GEM).
Here's the list of keycodes and virtual keys recommended for a standard BD gamepad (and remote control) for developers:
Keycode | Virtual Key |
Name | Symbol | Description |
---|---|---|---|---|
? |
VK_ENTER |
Enter |
ENTER |
Activate current selection or accept current input. Also called "OK" or "Select." |
? |
VK_LEFT |
Left |
⬅️ |
Navigate or traverse leftward. |
? |
VK_RIGHT |
Right |
➡️ |
Navigate or traverse rightward. |
? |
VK_UP |
Up |
⬆️ | Navigate or traverse upward. |
? |
VK_DOWN |
Down |
⬇️ |
Navigate or traverse downward. |
403 |
VK_BLUE |
Blue |
🔵 |
General purpose function key for interactivity. Equivalent to VK_COLORED_KEY_0 |
404 |
VK_GREEN |
Green | 🟢 |
General purpose function key for interactivity. Equivalent to VK_COLORED_KEY_1 |
405 |
VK_RED |
Red |
🔴 |
General purpose function key for interactivity. Equivalent to VK_COLORED_KEY_2 |
406 |
VK_YELLOW |
Yellow |
🟡 |
General purpose function key for interactivity. Equivalent to VK_COLORED_KEY_3 |
19 |
VK_PLAY |
Play |
▶️ |
Initiate or continue playback. |
415 |
VK_PAUSE |
Pause | ⏸️ |
Pause playback. |
503 |
VK_PLAY_PAUSE |
Play/Puase |
▶️⏸️ |
Toggle media play/pause state. |
417 |
VK_FAST_FWD |
Fast Forward |
⏩ |
Initiate or continue forward playback at faster than normal speed, or increase speed if already fast forwarding. |
412 |
VK_REWIND |
Rewind | ⏪ |
Initiate or continue reverse playback at faster than normal speed, or increase speed if already rewinding. |
424 |
VK_TRACK_PREV |
Track Previous |
⏮️ |
Seek to next media or program track. |
425 |
VK_TRACK_NEXT |
Track Next |
⏭️ |
Seek to previous media or program track. |
461 |
VK_POPUP_MENU |
Popup Menu |
POPUP MENU |
Toggle display of content or popup menu (if available). |
? |
VK_0 to VK_9 |
Number Key 0-9 |
0️⃣-9️⃣ | Number entry. |
Sources
- Virtual Key Identifiers for Television Input - W3C
- HDCookbook 15-14
- Blu-Play Input Controls - by Mistalu
- Blu-Play Platforms - by Mistalu
Author(s) : Æ Firestone
Popular Pages
-
Type Programming /scripting language Paradigm Multi-paradigm: event-driven, functional, imperative, procedural, object-orie...
-
HDMV (High Definition Movie) mode is an interactive framework with the well-known features of DVD, but it's more advanced than DVD m...
-
MPEG-2 Transport Stream Type of format Container format for video, audio, data First released August 2004 Latest relea...