Key / Value fields module where you can choose the type?
You can use the Field Collection module to achieve that functionality:

Provides a field-collection field, to which any number of fields can be attached.
A field collection is internally represented as an entity, which is embedded in the host entity. Thus, if desired field collections may be viewed and edited separately too.

The idea is:

Create a Field Collection.
Add key/value fields to it with the field types of your choice.
Add a Field Collection field to the content type you want these key/value fields on.
Set the source of that Field Collection field to the new Field Collection you've just created.
Repeat for whatever other content types you need to.