This would be a little custom but it is doable. You can think of your form that the user enters the coupon code into as a type of add to cart. If you have an add to cart server behavior on the page you can use the posting of the submit button for the coupon code to be the trigger for this add to cart. Then for the bindings in the add to cart server behavior you would just use static values that you enter into the interface. The final part of this and the part that is custom is the check to ensure that the user entered the correct code. For this part you would need to alter the trigger on the add to cart server behavior, you will need to check that the button was submitted and that the value in the coupon text field matches your coupon code value.
This will get the item added to the cart if the user enters the correct code. The final part would be to craft the discount rule to be the amount of that item, you can trigger it on the presence of the item in the cart.