In my company we have these nice height adjustable desks. The desktop computer is attached just under the desk. The motor controller is very simple and accepts input from a couple of RJ45 ports, of which only one is used by the hardware buttons. So, why not to use the second available port to control the desk via a web interface? A simple web API also allows me to control the position of the desk via keyboard shortcut; just bind the shortcut to a
curl call with the right parameters and the desk will go up and down like magic.
A simple python web server is running on the PC. Via USB, it is connected to an Arduino Nano that controls a simple two channel relay. The relay is just short-circuiting once one cable (desk goes up), once the other (desk goes down). Very nice and simple.