You can't define your own keyboard. You could make up a screen with a bunch of buttons but you would have to handle all the details and data plumbing yourself.

The closest you can come using the API is to assign a TextFilter to the EditField. The OS virtual keyboard will adapt to the filter, as will keystroke handling of the physical keyboard. This is what any users who aren't brand new to BlackBerry will expect and know how to deal with.