Programmers Notes for PadOrbiter
Contained on this page are my notes for the PadOrbiter. Particularly in regards to the various bits of glue software that make the user experience more convenient.
Contents
TabletCFG
TabletCFG is the Configuration program for setting network parameters on the PadOrbiter. It modifies various configuration files to configure network parameters for the PadOrbiter to function properly.
Network Configuration Snippets
TabletCfg needs to modify various files to configure network parameters for the wireless card. These files are overwritten completely each time the configuration changes.
WPA-PSK
WPA-PSK requires that a configuration file for /etc/wpa_supplicant.conf and /etc/network/interfaces be modified.
/etc/wpa_supplicant.conf
ctrl_interface=/var/run/wpa_supplicant #ap_scan=2 network={ ssid="your_ssid" scan_ssid=1 proto=WPA RSN key_mgmt=WPA-PSK pairwise=CCMP TKIP group=CCMP TKIP psk=your_psk }
Note: Add needed changes for using AES256 WPA encryption.
/etc/network/interfaces
auto eth0 iface eth0 inet dhcp pre-up wpa_supplicant -Bw -Dwext -ieth0 -c/etc/wpa_supplicant.conf post-down killall -q wpa_supplicant
On-Screen Keyboard Notes
Due to the tablet nature of the PadOrbiter, an on-screen keyboard was necessary. It is embedded directly into the configuration window itself. I had tried various external keyboards, but was unsuccessful in finding a keyboard that was easy to use for this purpose.
The Keyboard merely appends the given letter to the cursor position (or removes it in the case of backspace) of the text field.
Method Snippets
In order for the xtest send fake key event function to work, it needs the active display. This can be gotten from this member function:
Display * QX11Info::display () [static]
Returns the default display for the application.
See also appScreen().
TODO: Find which ESSIDs are legal. Do I need to create an extended keyboard to support funky characters?
Todo
- Finish TabletCFG (CRITICAL)
- Replace bootscreen with LinuxMCE splash. (NICE TO HAVE)
- Modify Orbiter to allow for automatic configuration without needing to create an orbiter in the web admin. (CRITICAL)
- Optimize Boot process. (NICE TO HAVE)