What I mentioned regarding APIs pertains to joysticks (using DirectInput) and gamepads (using XInput, E.G. an XBox controller), specifically. Not to other input methods.
I'm saying exactly what I wrote: You can have VoiceAttack send keyboard and mouse input, but you cannot have VoiceAttack (or other applications) press a button on an existing (E.G. physical) joystick or gamepad.
If you have a microphone that connects to your computer, you would likely be able to use speech recognition.
Depending on the language of your Windows installation, you may need to install a language pack for Windows that includes a working speech recognition engine first (or install the Speech Platform 11 framework and an engine, if Microsoft hasn't made a SAPI engine in the language you're looking to speak available)
So Voice Attack recognizes Keyboard and Mouse and will send voice commands per key that is used for the game?
If you're asking whether VoiceAttack can use speech recognition to recognize a spoken command, and send keyboard and/or mouse input to a given target application when said command is recognized, yes.
The profile you have attached may largely work, though for games 10ms (0.01s) may be too fast for reliable input (though given that you're referring to a game that's quite old, that may actually respond to input quicker and/or more reliably than some modern games).
The commands in the "walk" category don't seem to be configured correctly, however, as by having the "When I press keys" option set to the same key the command presses would effectively block your physical keyboard keys from working correctly.
If you were to press, for example, the "W" key on your keyboard, that would send a "W" press to the application that is currently receiving input, then immediately trigger the VoiceAttack command, which in turn sends another "W" press, waits ~10ms, and then sends a "W" release, effectively having nearly the same effect as releasing your physical keyboard key.
If you have a need to perform movement using spoken commands, you'd want to have the movement command hold down the key for you (and have another command to stop holding them down).
If you intend to move using the keyboard instead, there should be no need to have any of those commands at all.