[keys]

  [key] mod = {"Super"} key = "Return" func = "spawn" cmd = "urxvt || xterm" [/key]

  [key] mod = {"Control", "Alt"} key = "q" func = "quit" [/key]
  [key] mod = {"Control", "Alt"} key = "r" func = "reload" [/key]

  # Tag manipulation
  [key] mod = {"Super"} key = "1" func = "tag_set" cmd = "0" [/key]
  [key] mod = {"Super"} key = "2" func = "tag_set" cmd = "1" [/key]
  [key] mod = {"Super"} key = "3" func = "tag_set" cmd = "2" [/key]
  [key] mod = {"Super"} key = "4" func = "tag_set" cmd = "3" [/key]
  [key] mod = {"Super"} key = "5" func = "tag_set" cmd = "4" [/key]
  [key] mod = {"Super"} key = "6" func = "tag_set" cmd = "5" [/key]
  [key] mod = {"Super"} key = "7" func = "tag_set" cmd = "6" [/key]
  [key] mod = {"Super"} key = "8" func = "tag_set" cmd = "7" [/key]
  [key] mod = {"Super"} key = "9" func = "tag_set" cmd = "8" [/key]
  [key] mod = {"Super"} key = "0" func = "tag_set" cmd = "9" [/key]

  [key] mod = {"Super", "Shift"} key = "1" func = "tag_client" cmd = "0" [/key]
  [key] mod = {"Super", "Shift"} key = "2" func = "tag_client" cmd = "1" [/key]
  [key] mod = {"Super", "Shift"} key = "3" func = "tag_client" cmd = "2" [/key]
  [key] mod = {"Super", "Shift"} key = "4" func = "tag_client" cmd = "3" [/key]
  [key] mod = {"Super", "Shift"} key = "5" func = "tag_client" cmd = "4" [/key]
  [key] mod = {"Super", "Shift"} key = "6" func = "tag_client" cmd = "5" [/key]
  [key] mod = {"Super", "Shift"} key = "7" func = "tag_client" cmd = "6" [/key]
  [key] mod = {"Super", "Shift"} key = "8" func = "tag_client" cmd = "7" [/key]

  [key] mod = {"Super"} key = "minus" func = "tag_del" [/key]
  [key] mod = {"Super", "Shift"} key = "minus" func = "tag_new" [/key]

  # tag function: cmd = nameofthetag
  #[key] mod = {"Super"} key = "z" func = "tag" cmd = "2" [/key]

  [key] mod = {"Super", "Alt"} key = "Right" func = "tag_next" [/key]
  [key] mod = {"Super", "Alt"} key = "Left"  func = "tag_prev" [/key]

  [key] mod = {"Super", "Alt"} key = "Up"  func = "screen_next" [/key]
  [key] mod = {"Super", "Alt"} key = "Down" func = "screen_prev" [/key]

  [key] mod = {"Super"} key = "q" func = "client_close" [/key]

  # Focus next / prev client and next / prev tabbed client
  [key] mod = { "Alt" }            key = "Tab" func = "client_focus_next" [/key]
  [key] mod = { "Alt", "Shift" }   key = "Tab" func = "client_focus_prev" [/key]
  [key] mod = { "Super" }          key = "Tab" func = "client_focus_next_tab" [/key]
  [key] mod = { "Super", "Shift" } key = "Tab" func = "client_focus_prev_tab" [/key]

  # Focus next client with direction
  [key] mod = {"Alt"} key = "Left" func = "client_focus_left"   [/key]
  [key] mod = {"Alt"} key = "Right" func = "client_focus_right"  [/key]
  [key] mod = {"Alt"} key = "Top" func = "client_focus_top"    [/key]
  [key] mod = {"Alt"} key = "Bottom" func = "client_focus_bottom" [/key]

  # swap next client with direction:
  [key] mod = {"Control", "Shift"} key = "Left" func = "client_swap_left"   [/key]
  [key] mod = {"Control", "Shift"} key = "Right" func = "client_swap_right"  [/key]
  [key] mod = {"Control", "Shift"} key = "Top" func = "client_swap_top"    [/key]
  [key] mod = {"Control", "Shift"} key = "Bottom" func = "client_swap_bottom" [/key]

  # Resize selected tiled client with direction
  [key] mod = {"Super"} key = "Left" func = "client_resize_left"   cmd = "20" [/key]
  [key] mod = {"Super"} key = "Right" func = "client_resize_left"   cmd = "-20" [/key]
  [key] mod = {"Super"} key = "Top" func = "client_resize_top"    cmd = "20" [/key]
  [key] mod = {"Super"} key = "Bottom" func = "client_resize_top"    cmd = "-20" [/key]
  [key] mod = {"Super", "Control"} key = "Left" func = "client_resize_right"  cmd = "-20" [/key]
  [key] mod = {"Super", "Control"} key = "Right" func = "client_resize_right"  cmd = "20" [/key]
  [key] mod = {"Super", "Control"} key = "Top" func = "client_resize_bottom" cmd = "-20" [/key]
  [key] mod = {"Super", "Control"} key = "Bottom" func = "client_resize_bottom" cmd = "20" [/key]

  # Tabbing command
  [key] mod = {"Alt", "Shift"} key = "Left" func = "client_tab_left"   [/key]
  [key] mod = {"Alt", "Shift"} key = "Right" func = "client_tab_right"  [/key]
  [key] mod = {"Alt", "Shift"} key = "Top" func = "client_tab_top"    [/key]
  [key] mod = {"Alt", "Shift"} key = "Bottom" func = "client_tab_bottom" [/key]
  [key] mod = {"Alt", "Shift"} key = "u" func = "client_untab" [/key]
  [key] mod = {"Super"}        key = "t" func = "client_tab_next_opened" [/key]

  # Layout manipulation
  [key] mod = {"Super"}          key = "m" func = "layout_vmirror" [/key]
  [key] mod = {"Super", "Shift"} key = "m" func = "layout_hmirror" [/key]
  [key] mod = {"Super"}          key = "r" func = "layout_rotate_right" [/key]
  [key] mod = {"Super", "Shift"} key = "r" func = "layout_rotate_left" [/key]

  [key] mod = {"Control", "Super", "Alt"} key = "Left" func = "layout_integrate_left" [/key]
  [key] mod = {"Control", "Super", "Alt"} key = "Right" func = "layout_integrate_right" [/key]
  [key] mod = {"Control", "Super", "Alt"} key = "Top" func = "layout_integrate_top" [/key]
  [key] mod = {"Control", "Super", "Alt"} key = "Bottom" func = "layout_integrate_bottom" [/key]

  # Layout set historic travelling function (TESTING)
  [key] mod = {"Super"} key = "o" func = "layout_prev_set" [/key]
  [key] mod = {"Super", "Shift"} key = "o" func = "layout_next_set" [/key]

  # Toggle client free/tile
  [key] mod = {"Super"} key = "f" func = "client_toggle_free" [/key]

  # Toggle client ignore_tag
  [key] mod = {"Super", "Shift"} key = "f" func = "client_toggle_ignore_tag" [/key]

  # Toggle infobar visibility
  [key] mod = {"Super", "Shift"} key = "h" func = "infobar_toggle_hide" cmd = "default" [/key]

  # Launcher
  [key] mod = {"Super"} key = "p" func = "launcher" cmd = "exec" [/key]
  [key] mod = {"Super"} key = "l" func = "spawn" cmd = "/usr/bin/i3lock -i ~/pics/screensaver.png -p win" [/key]

[/keys]
