Keymap now uses flagable Keys enumeration

Changes in all methods using the Keymap to the new flagable Keys
enumeration
Changes in keymap layout
Change not initialized userdata directory to base directory