Position and velocity

Is it possible to drive the motor in POSITION_MODE and keep a constant speed?

Yes, you can do this in two ways: (assuming 0.5.1 firmware)
One: Use the trapezoidal trajectory input mode, which will accelerate up to a fixed speed of your choosing between positions
Two: constantly update input_pos with a new position as a function of time, from a loop within your application. You need to update it fairly quickly. If you get a non-smooth velocity profile by doing this, then your application isn’t updating it fast enough. The ‘filter’ input mode can help to smooth this out.