A user-programmable virtual keyboard for Google Chrome