Multiple Financial Types on one payment form?
If you use price sets then each field, or each option on multiple option fields, can have its own financial type. Currently, event price sets support contributions (FWIW, membership price sets also support contributions, but it's not yet possible to have memberships and event tickets in the same price set).

The trouble you are having is the simplified price sets on the Fees tab all use the same financial type. Note that just above that simplified interface there is a link you can use to convert your existing options into a complex price set: 'Click here if you want to configure the Regular Fees below as part of a Price Set, with the added flexibility and complexity that entails.'