![]() |
![]()
| ![]() |
![]()
NAME
SYNOPSIS
DESCRIPTIONThe The options are:
SETTING UPRefer to the FreeBSD handbook for a guide on setting up Bluetooth. The gamepad initiates the connection, so the host has to be connectable, but need not be discoverable. The following options in /etc/defaults/bluetooth.device.conf are appropriate: authentication_enable="NO" connectable="YES" discoverable="NO" local_name="" The gamepad uses a nonstandard Bluetooth pairing
procedure. When it is plugged in over USB, the Bluetooth address of the host
is set with a special USB request. The The following options can be set in /etc/rc.conf:
THE GAMEPADThe PS button (the round button in the center of the gamepad) initiates a connection. When it is pressed, all four LEDs start blinking while a connection is established. When connected, one of the LEDs corresponding to the device unit number either lights up continuously when the device is in use or flashes briefly when it is not. Holding the PS button for 10 seconds disconnects. A connection should be established before starting any games because SDL enumerates joysticks on startup. The daemon presents a custom HID descriptor to applications and slightly alters the input report to make the controller more useful without additional configuration. Buttons are numbered in the sequence: Square, X, Circle, Triangle, R1, L1, R3, L3 (analog stick clicks), Start, Select, PS. The D-pad is reported as a hat switch. The two analog sticks and the R2 and L2 triggers are reported as axes. None of the pressure or motion sensors are mapped. SECURITY CONSIDERATIONSSince Bluetooth authentication is not supported, a rogue Bluetooth device pretending to be a gamepad can connect to the daemon and provide inputs. The inputs do not pass through the USB subsystem in the kernel, so there is no chance of, for instance, the keyboard driver binding to them. Furthermore, the way in which they are interpreted by programs is limited by the hardcoded HID descriptor provided by the daemon (and not by the device) to gaming controls and generic buttons. Nevertheless, care should be taken with programs that translate such inputs into keyboard or mouse events. SEE ALSOAUTHORS
|