Adds a keyboard config option to control shift key behavior.
When sticky_shift is enabled (default), the keyboard remains
in uppercase mode until the shift key is pressed again.
When disabled, the keyboard switches back into lowercase mode
when a non-modifier key is pressed.
Appending the newline character '\n' is the right thing to do when you print a password to a tty or a text file.
But different tools process it differently. For example, cryptsetup strips the newline character, but systemd-cryptsetup with a password agent does not.
This commit allows to control the newline character with an option.