The one that I made in 2013 was actualy using a USB controller and using some software to remap the inputs as keyboard keys. Onestly I think you could use anything that can input to a computer using buttons to do that.
I doubt you could reprogram the chip in a mouse, that probably uses some kind of integrated chip made just for that purpose and even if it used a programmable chip I think they would probably find a way to prevent you to reprogram it. But if you actually can then it could be interesting, however other people could probably not reproduce unless they get the exact same mouse as yours.