I only need like 16 buttons or so, implementing a whole library seems a bit overkill..
I was thinking about sending PWM signals through the transmitter, and having the reciever calculating an average, which will indicate which button it is.
Does that sound possible?
pulse widths will be affected by the modulation and demodulation used in the RF link - expect some distortion. You could use a frequency proportional to your signal (so long as it doesn't exceed the limit of the TX RX pair.
The advantage of using serial is that you can packetize your transmission and save on TX power when not sending data. You will need at the very least a packet-start sequence and a checksum byte or two.