How to write VHDL program to send command to PS2 device
The PS2 clock and Data lines are implemented as open-drain with pullup resistors. Thus you treat it in a similar way to i2c. So, in your entity, you could do:

Port (
   ....
   io_ps2_dat : inout std_logic;
   io_ps2_clk : inout std_logic;
   ....
);


Bear in mind that for open drain you must make the pin '0' or 'Z'. Not '1'! Never drive a '1' on an open drain bus as you may fry the mouse. If you put a 'Z' on, the pin will read one, pulled to high by the resistor.

io_ps2_dat &lt;= '0';
....
io_ps2_dat &lt;= 'Z';


Does this get you started?

Edit: I'll add a bit more about comms in host-to-device communications.

The PS/2 mouse always generates the clock signal. If the host wants to send, it must go to "Request-to-send" state:


Pulling Clock low for at least 100 microseconds (inhibit comms). You can do this by simply putting '0' on the io_ps2_clk line. Because it's open drain this is perfectly safe and the mouse will notice.
Enter Request-to-send mode by pulling Data low, then release Clock.


When the mouse detects this state, it will begin generating a clock signals and reads in 8 data bits and one stop bit when the clock is high. This you (the host) can change the Data line only when the Clock line is low.

After the stop bit is received, the mouse will acknowledge the received byte by bringing the Data line low and generating one last clock pulse. (ACK# - it's very I2Cish).