Note: This is the standard help document for Valence, which is also included within the app itself. Other useful resources include:

Valence

Version 1.3, released September 19, 2011

© 2011 David Simmons

http://cafbit.com/

Revision history

version date changes
v1.3 2011-09-19 Adding support for "Mac authentication" when connecting to Apple Remote Desktop, the built-in VNC server in Mac OS X. This is required to use Valence with Mac OS X 10.7 Lion.
v1.2 2011-09-06 Apple recently pushed an update for Apple Remote Desktop v3.5 to Snow Leopard users which breaks right-clicking in VNC. I added an option to the VNC server configuration for "ARD v3.5 compatibility" which will allow right-clicking to work again on Macs with this update.
v1.1 2011-08-27 Fixed a critical bug that was preventing two-finger taps and swipes from working on certain devices, including the Samsung Epic 4G and the Samsung Galaxy S II.
v1.0 2011-07-17 Initial release to the Android Market.

Introduction

Valence turns your Android phone or tablet into a remote keyboard and mouse for any computer. The inspiration for Valence was a need to control a home theater PC from the couch, but it can be useful in any situation where a computer doesn't have a keyboard and mouse handy. Your computer must be reachable over the network from your Android device, and be running a VNC server.

Most computer remote control apps require that the controlled computer be running special software, unique to the app, that relays mouse and keyboard events to the operating system. Not only does this add yet another single-purpose ever-running program to your computer, but the author may not have support for your operating system yet. To solve this problem, Valence uses the industry standard VNC system and its RFB (remote framebuffer) protocol. Many operating systems come with VNC built-in, and many people may already have VNC installed and enabled. Instead of using VNC to see the screen of a remote computer, Valence uses VNC in a strictly one-way fashion—input events are transmitted from the Android handset to the VNC server, but video frames are never sent from the server to the handset.

Installing a VNC server on your computer

To use Valence, make sure you have VNC server software installed on your computer, and configured to allow connections:

Mac OS X 10.6 Snow Leopard

Macs have built-in VNC software, so no additional software needs to be installed.

  1. In "System Preferences," go to the "Sharing" tab and make sure "Remote Management" is selected.
  2. Click "Computer Settings...", make sure "VNC viewers may control screen with password" is selected, and provide a password.
  3. When configuring this server in Valence, do not select "Mac authentication." If you prefer to use "Mac authentication," you'll need to follow the directions for Lion, below.
NOTE: In July 2011, Apple pushed an update to Snow Leopard users which included a newer version of Apple Remote Desktop, the built-in VNC server. This new version, v3.5, breaks Valence's support for sending a right-click when you two-finger tap. To restore right-click support, be sure to check the "Send mouse button-2 instead of button-3" option when configuring this server in Valence.

Mac OS X 10.7 Lion

Macs have built-in VNC software, so no additional software needs to be installed.

  1. In "System Preferences," go to the "Sharing" tab and make sure "Remote Management" is selected.
  2. Click "Options..." and make sure "Observe" and "Control" are selected.
  3. When configuring this server in Valence, select "Mac authentication" and provide your username.
NOTE: Valence cannot use standard VNC authentication to connect to the built-in VNC server in Lion. You must use Mac authentication. Starting with Lion, Apple Remote Desktop presents a special login screen to users connecting with standard VNC authentication, which you cannot see with an input-only VNC client such as Valence.

Ubuntu Linux

Ubuntu Linux has built-in VNC software, so no additional software needs to be installed. In the System menu, select Preferences then Remote Desktop. Check "Allow other users to view your desktop" and "Allow other users to control your desktop," uncheck "You must confirm each access to this machine," and check "Require the user to enter this password." Assign a password.

Windows

Windows does not have a built-in VNC server, so you'll need to install one. I recommend downloading the latest version of TightVNC. On TightVNC's download page, click the "download" link next to "Self-installing package for Windows." Open the downloaded package, click "Run," and proceed through the setup wizard. (Just keep hitting "Next" and "I agree".) Enter a password when prompted in the "Service Configuration" dialog, click "Install," and complete the installation.

Configuring Valence

Before using Valence, you must configure the app with information about the computer you wish to control. There are two ways to do this. When you first launch Valence, you will be presented with a list of configured VNC servers, the option to manually add a new server, and the option to automatically discover VNC servers.

Using Valence

To control a computer, select its name from the list which appears when you launch Valence. After connecting, you will see a large touchpad area on the screen. You can use this touchpad to move the mouse pointer of the computer in much the same way you use a touchpad on a laptop—swipe your finger in the direction you want the pointer to move. To click the mouse, quickly tap your finger anywhere in the touchpad area. To perform a right-click, tap on the touchpad with two fingers at the same time. To scroll, swipe two fingers up and down.

If your Android device has a physical keyboard, you can use it to type on the remote computer. Otherwise, pressing the keyboard icon will present the soft keyboard which can be used for typing.

When finished, press your device's back key.

Security considerations

The VNC protocol (RFB) performs authentication using a DES-based challenge-response system, so your VNC password is never transmitted in the clear. However, security-conscious users should note the following:

Miscellaneous comments

What does the name Valence mean?

The name Valence has the letters V, N, and C, so it seemed like an appropriate name for a VNC client. In chemistry, "valence" refers to an atom's capacity for joining with other atoms to form compounds by sharing electrons. This connection of atoms using their valence electrons is called a covalent bond. In much the same way that valence helps hold the universe together, I hope that Valence helps bring your home electronics together.