Can I change this on an already implemented keyboard?
You can't ... it's already built, and some manufacturers provide their own keyboard implementations.
Or should I make my own keyboard?
Yes you should.
If so, how to do it? Can I find the source code somewhere?
There are several open source keyboard implementations projects ... for example:
There you can learn how to write your own keyboard, which is completely different from writing a regular application.
, Gingerbread-Keyboard ( Android 2.2 )... . , , .