The electrical type is used by the electrical rule check (ERC) to determine if you connected everything correctly.
For example if you connect two outputs, ERC will complain.
Where to get the pin types.
Well the datasheet of your component is a good start.
- power supply pins (vcc, gnd, vss, ...) are power inputs
digital and analog input pins are inputs
digital and analog output pins are output
- pins that have a z-high state are tri-state
gpio pins, bus pins (sda of i2c) , ... are bidirectional
pins for passive devices and pins that are always connected to other passive devices are passive
Power output pins are used for the output pins of dc/dc or ac/dc converters, voltage regulators, ...
Not connected is used for all pins of the footprint that have no function in the symbol. (You can make them invisible to reduce clutter but don't stack them. Otherwise they will be connected with each other.)
open collector is used for open collector or open drain outputs (output pins that need an external pull up)
- open emitter are used for open emitter or open source outputs (output pins that need an external pull down)
If you have multiple output pins or power output pins that need to be connected in parallel, give only one of these pins the type output. The other pins should get the type passive.
Such a configuration can be stacked. (all pins on top of each other with all but one pin set to invisible. Make sure the visible pin is the one with the correct electrical type.)
The symbol editor does not like that. finish all settings of the pins while they are not stacked and move them on top of each other as the last step.
(If you open the pin properties of any stacked pin, all pins in the stack get changed by the editor.)
Another special case are invisible power input pins. They are global labels. This is how power symbols are implemented in kicad. Do not use invisble power input pins in any application other then power symbols. (They can be dangerous)