If you want to use the Display_OnKeyDown event you'll have to first set up the script to get events from the display, which isn't quite straightforward. But there is sample code in the Sample Script FAQ here:
http://sourceforge.net/docman/display_doc.php?docid=7777&group_id=9970.
But my suggestion would be to try to find ways to limit the number of buttons your game needs. Most games used to be playable with just 2 buttons, and even modern game controllers usually have only 4 primary buttons (especially for 2-D games, they will often just use the 4 primary buttons). Otherwise it starts to get difficult for the player to remember what the buttons are. Here are som possible alternatives:
1) Instead of defining a new button for each action, use combinations of buttons. For example, instead of making button 1 be shoot left, button 2 be shoot right, and button 3 be bomb, let button 1+left be shoot left, button 1+right be shoot right, and button 1 + down be bomb.
2) If you don't use Down, maybe you can use/remap the down key to use for something else. Many side-scrolling games don't use down to move down, but will instead use it kind of like a button.
3) Use buttons to choose change inventory so that the same button can have multiple functions. For example, instead of having button 1 be shoot laser, button 2 be shoot grenade and button 3 be shoot BFG, have button 1 be toggle weapon and button 2 be shoot weapon.
Oh, also, I think to check for multiple buttons, I think an adjustment would be necessary on durnurd's script:
If (Not OldActions And (ACTION_BUTTON3 Or ACTION_BUTTON4)) <> 0 And _
((NewActions And (ACTION_BUTTON3 Or ACTION_BUTTON4)) = _
(ACTION_BUTTON3 Or ACTION_BUTTON4)) Then
...
I think that code will ensure that the code only executes when the player is pressing button 3 and button 4 now and was not pressing both those buttons before.