Possibly I can use the key library. I suppose if it has debouncing and precise timing it'll serve my purposes.
88 keys means 88x2 switches, and the precise timing between pairs of these is how the velocity (how hard you strike, or release) is calculated, so precise timing and clever debouncing...