Package imgui.flag

Class ImGuiKey

java.lang.Object
imgui.flag.ImGuiKey

public final class ImGuiKey extends Object
A key identifier (ImGuiKey_XXX or ImGuiMod_XXX value): can represent Keyboard, Mouse and Gamepad values. All our named keys are >= 512. Keys value 0 to 511 are left unused as legacy native/opaque key values (< 1.87). Since >= 1.89 we increased typing (went from int to enum), some legacy code may need a cast to ImGuiKey. Read details about the 1.87 and 1.89 transition : https://github.com/ocornut/imgui/issues/4921 Note that "Keys" related to physical keys and are not the same concept as input "Characters", the later are submitted via io.AddInputCharacter().
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final int
     
    static final int
     
    static final int
     
    static final int
     
    static final int
     
    static final int
     
    static final int
     
    static final int
     
    static final int
     
    static final int
     
    static final int
     
    static final int
    '
    static final int
    Available on some keyboard/mouses.
    static final int
     
    static final int
     
    static final int
    \ (this text inhibit multiline comment caused by backslash)
    static final int
     
    static final int
     
    static final int
     
    static final int
    ,
    static final int
    Obsoleted in 1.91.5 because it was misleading (since named keys don't start at 0 anymore)
    static final int
     
    static final int
     
    static final int
     
    static final int
     
    static final int
     
    static final int
     
    static final int
    =
    static final int
     
    static final int
     
    static final int
     
    static final int
     
    static final int
     
    static final int
     
    static final int
     
    static final int
     
    static final int
     
    static final int
     
    static final int
     
    static final int
     
    static final int
     
    static final int
     
    static final int
     
    static final int
     
    static final int
     
    static final int
     
    static final int
     
    static final int
     
    static final int
     
    static final int
     
    static final int
     
    static final int
     
    static final int
     
    static final int
     
    static final int
     
    static final int
    View | - | Share |
    static final int
    D-pad Down | " | " | Move / Tweak / Resize Window (in Windowing mode)
    static final int
    D-pad Left | " | " | Move / Tweak / Resize Window (in Windowing mode)
    static final int
    D-pad Right | " | " | Move / Tweak / Resize Window (in Windowing mode)
    static final int
    D-pad Up | " | " | Move / Tweak / Resize Window (in Windowing mode)
    static final int
    A | B | Cross | Activate / Open / Toggle.
    static final int
    X | Y | Square | Toggle Menu.
    static final int
    B | A | Circle | Cancel / Close / Exit
    static final int
    Y | X | Triangle | Open Context Menu
    static final int
    L Bumper | L | L1 | Tweak Slower / Focus Previous (in Windowing mode)
    static final int
    L Trigger | ZL | L2 | [Analog]
    static final int
    L Stick | L3 | L3 |
    static final int
    | | | [Analog] Move Window (in Windowing mode)
    static final int
    | | | [Analog] Move Window (in Windowing mode)
    static final int
    | | | [Analog] Move Window (in Windowing mode)
    static final int
    | | | [Analog] Move Window (in Windowing mode)
    static final int
    R Bumper | R | R1 | Tweak Faster / Focus Next (in Windowing mode)
    static final int
    R Trigger | ZR | R2 | [Analog]
    static final int
    R Stick | R3 | R3 |
    static final int
    | | | [Analog]
    static final int
    | | | [Analog]
    static final int
    | | | [Analog]
    static final int
    | | | [Analog]
    static final int
    Menu | + | Options |
    static final int
    `
    static final int
     
    static final int
     
    static final int
     
    static final int
    Option/Menu
    static final int
    Ctrl (non-macOS), Cmd (macOS)
    static final int
    4-bits
    static final int
    Keyboard Modifiers (explicitly submitted by backend via AddKeyEvent() calls) - Any functions taking a ImGuiKeyChord parameter can binary-or those with regular keys, e.g.
    static final int
    Shift
    static final int
    Removed in 1.90.7, you can now simply use ImGuiMod_Ctrl
    static final int
    Windows/Super (non-macOS), Ctrl (macOS)
    static final int
     
    static final int
     
    static final int
     
    static final int
     
    static final int
     
    static final int
     
    static final int
     
    static final int
     
    static final int
     
    static final int
     
    static final int
     
    static final int
     
    static final int
     
    static final int
     
    static final int
     
    static final int
     
    static final int
     
    static final int
     
    static final int
     
    static final int
     
    static final int
     
    static final int
    Also see ImGuiMod_Ctrl, ImGuiMod_Shift, ImGuiMod_Alt, ImGuiMod_Super below!
    static final int
     
    static final int
    [
    static final int
    Also see ImGuiMod_Ctrl, ImGuiMod_Shift, ImGuiMod_Alt, ImGuiMod_Super below!
    static final int
    Also see ImGuiMod_Ctrl, ImGuiMod_Shift, ImGuiMod_Alt, ImGuiMod_Super below!
    static final int
    Also see ImGuiMod_Ctrl, ImGuiMod_Shift, ImGuiMod_Alt, ImGuiMod_Super below!
    static final int
     
    static final int
     
    static final int
    -
    static final int
    Aliases: Mouse Buttons (auto-submitted from AddMouseButtonEvent() calls) - This is mirroring the data also written to io.MouseDown[], io.MouseWheel, in a format allowing them to be accessed via standard key API.
    static final int
    Aliases: Mouse Buttons (auto-submitted from AddMouseButtonEvent() calls) - This is mirroring the data also written to io.MouseDown[], io.MouseWheel, in a format allowing them to be accessed via standard key API.
    static final int
    Aliases: Mouse Buttons (auto-submitted from AddMouseButtonEvent() calls) - This is mirroring the data also written to io.MouseDown[], io.MouseWheel, in a format allowing them to be accessed via standard key API.
    static final int
    Aliases: Mouse Buttons (auto-submitted from AddMouseButtonEvent() calls) - This is mirroring the data also written to io.MouseDown[], io.MouseWheel, in a format allowing them to be accessed via standard key API.
    static final int
    Aliases: Mouse Buttons (auto-submitted from AddMouseButtonEvent() calls) - This is mirroring the data also written to io.MouseDown[], io.MouseWheel, in a format allowing them to be accessed via standard key API.
    static final int
    Aliases: Mouse Buttons (auto-submitted from AddMouseButtonEvent() calls) - This is mirroring the data also written to io.MouseDown[], io.MouseWheel, in a format allowing them to be accessed via standard key API.
    static final int
    Aliases: Mouse Buttons (auto-submitted from AddMouseButtonEvent() calls) - This is mirroring the data also written to io.MouseDown[], io.MouseWheel, in a format allowing them to be accessed via standard key API.
    static final int
     
    static final int
    First valid key value (other than 0)
    static final int
    [Internal] If you need to iterate all keys (for e.g.
    static final int
    [Internal] If you need to iterate all keys (for e.g.
    static final int
    Keyboard
    static final int
     
    static final int
     
    static final int
    Non-US backslash.
    static final int
     
    static final int
     
    static final int
     
    static final int
     
    static final int
    .
    static final int
     
    static final int
     
    static final int
     
    static final int
    [Internal] Reserved for mod storage
    static final int
    [Internal] Reserved for mod storage
    static final int
    [Internal] Reserved for mod storage
    static final int
    [Internal] Reserved for mod storage
    static final int
     
    static final int
     
    static final int
    ]
    static final int
     
    static final int
     
    static final int
     
    static final int
     
    static final int
     
    static final int
    ;
    static final int
    /
    static final int
     
    static final int
     
    static final int
    == ImGuiKey_NamedKey_BEGIN
    static final int
     
    static final int
     
    static final int
     
    static final int
     
    static final int
     
    static final int
     
    static final int
     
  • Method Summary

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • None

      public static final int None
      Keyboard

      Definition: 0

      See Also:
    • NamedKey_BEGIN

      public static final int NamedKey_BEGIN
      First valid key value (other than 0)

      Definition: 512

      See Also:
    • Tab

      public static final int Tab
      == ImGuiKey_NamedKey_BEGIN

      Definition: 512

      See Also:
    • LeftArrow

      public static final int LeftArrow
      See Also:
    • RightArrow

      public static final int RightArrow
      See Also:
    • UpArrow

      public static final int UpArrow
      See Also:
    • DownArrow

      public static final int DownArrow
      See Also:
    • PageUp

      public static final int PageUp
      See Also:
    • PageDown

      public static final int PageDown
      See Also:
    • Home

      public static final int Home
      See Also:
    • End

      public static final int End
      See Also:
    • Insert

      public static final int Insert
      See Also:
    • Delete

      public static final int Delete
      See Also:
    • Backspace

      public static final int Backspace
      See Also:
    • Space

      public static final int Space
      See Also:
    • Enter

      public static final int Enter
      See Also:
    • Escape

      public static final int Escape
      See Also:
    • LeftCtrl

      public static final int LeftCtrl
      Also see ImGuiMod_Ctrl, ImGuiMod_Shift, ImGuiMod_Alt, ImGuiMod_Super below!
      See Also:
    • LeftShift

      public static final int LeftShift
      Also see ImGuiMod_Ctrl, ImGuiMod_Shift, ImGuiMod_Alt, ImGuiMod_Super below!
      See Also:
    • LeftAlt

      public static final int LeftAlt
      Also see ImGuiMod_Ctrl, ImGuiMod_Shift, ImGuiMod_Alt, ImGuiMod_Super below!
      See Also:
    • LeftSuper

      public static final int LeftSuper
      Also see ImGuiMod_Ctrl, ImGuiMod_Shift, ImGuiMod_Alt, ImGuiMod_Super below!
      See Also:
    • RightCtrl

      public static final int RightCtrl
      See Also:
    • RightShift

      public static final int RightShift
      See Also:
    • RightAlt

      public static final int RightAlt
      See Also:
    • RightSuper

      public static final int RightSuper
      See Also:
    • _0

      public static final int _0
      See Also:
    • _1

      public static final int _1
      See Also:
    • _2

      public static final int _2
      See Also:
    • _3

      public static final int _3
      See Also:
    • _4

      public static final int _4
      See Also:
    • _5

      public static final int _5
      See Also:
    • _6

      public static final int _6
      See Also:
    • _7

      public static final int _7
      See Also:
    • _8

      public static final int _8
      See Also:
    • _9

      public static final int _9
      See Also:
    • A

      public static final int A
      See Also:
    • B

      public static final int B
      See Also:
    • C

      public static final int C
      See Also:
    • D

      public static final int D
      See Also:
    • E

      public static final int E
      See Also:
    • F

      public static final int F
      See Also:
    • G

      public static final int G
      See Also:
    • H

      public static final int H
      See Also:
    • I

      public static final int I
      See Also:
    • J

      public static final int J
      See Also:
    • K

      public static final int K
      See Also:
    • L

      public static final int L
      See Also:
    • M

      public static final int M
      See Also:
    • N

      public static final int N
      See Also:
    • O

      public static final int O
      See Also:
    • P

      public static final int P
      See Also:
    • Q

      public static final int Q
      See Also:
    • R

      public static final int R
      See Also:
    • S

      public static final int S
      See Also:
    • T

      public static final int T
      See Also:
    • U

      public static final int U
      See Also:
    • V

      public static final int V
      See Also:
    • W

      public static final int W
      See Also:
    • X

      public static final int X
      See Also:
    • Y

      public static final int Y
      See Also:
    • Z

      public static final int Z
      See Also:
    • F1

      public static final int F1
      See Also:
    • F2

      public static final int F2
      See Also:
    • F3

      public static final int F3
      See Also:
    • F4

      public static final int F4
      See Also:
    • F5

      public static final int F5
      See Also:
    • F6

      public static final int F6
      See Also:
    • F7

      public static final int F7
      See Also:
    • F8

      public static final int F8
      See Also:
    • F9

      public static final int F9
      See Also:
    • F10

      public static final int F10
      See Also:
    • F11

      public static final int F11
      See Also:
    • F12

      public static final int F12
      See Also:
    • F13

      public static final int F13
      See Also:
    • F14

      public static final int F14
      See Also:
    • F15

      public static final int F15
      See Also:
    • F16

      public static final int F16
      See Also:
    • F17

      public static final int F17
      See Also:
    • F18

      public static final int F18
      See Also:
    • F19

      public static final int F19
      See Also:
    • F20

      public static final int F20
      See Also:
    • F21

      public static final int F21
      See Also:
    • F22

      public static final int F22
      See Also:
    • F23

      public static final int F23
      See Also:
    • F24

      public static final int F24
      See Also:
    • Apostrophe

      public static final int Apostrophe
      '
      See Also:
    • Comma

      public static final int Comma
      ,
      See Also:
    • Minus

      public static final int Minus
      -
      See Also:
    • Period

      public static final int Period
      .
      See Also:
    • Slash

      public static final int Slash
      /
      See Also:
    • Semicolon

      public static final int Semicolon
      ;
      See Also:
    • Equal

      public static final int Equal
      =
      See Also:
    • LeftBracket

      public static final int LeftBracket
      [
      See Also:
    • Backslash

      public static final int Backslash
      \ (this text inhibit multiline comment caused by backslash)
      See Also:
    • RightBracket

      public static final int RightBracket
      ]
      See Also:
    • GraveAccent

      public static final int GraveAccent
      `
      See Also:
    • CapsLock

      public static final int CapsLock
      See Also:
    • ScrollLock

      public static final int ScrollLock
      See Also:
    • NumLock

      public static final int NumLock
      See Also:
    • PrintScreen

      public static final int PrintScreen
      See Also:
    • Pause

      public static final int Pause
      See Also:
    • Keypad0

      public static final int Keypad0
      See Also:
    • Keypad1

      public static final int Keypad1
      See Also:
    • Keypad2

      public static final int Keypad2
      See Also:
    • Keypad3

      public static final int Keypad3
      See Also:
    • Keypad4

      public static final int Keypad4
      See Also:
    • Keypad5

      public static final int Keypad5
      See Also:
    • Keypad6

      public static final int Keypad6
      See Also:
    • Keypad7

      public static final int Keypad7
      See Also:
    • Keypad8

      public static final int Keypad8
      See Also:
    • Keypad9

      public static final int Keypad9
      See Also:
    • KeypadDecimal

      public static final int KeypadDecimal
      See Also:
    • KeypadDivide

      public static final int KeypadDivide
      See Also:
    • KeypadMultiply

      public static final int KeypadMultiply
      See Also:
    • KeypadSubtract

      public static final int KeypadSubtract
      See Also:
    • KeypadAdd

      public static final int KeypadAdd
      See Also:
    • KeypadEnter

      public static final int KeypadEnter
      See Also:
    • KeypadEqual

      public static final int KeypadEqual
      See Also:
    • AppBack

      public static final int AppBack
      Available on some keyboard/mouses. Often referred as "Browser Back"
      See Also:
    • AppForward

      public static final int AppForward
      See Also:
    • Oem102

      public static final int Oem102
      Non-US backslash.
      See Also:
    • GamepadStart

      public static final int GamepadStart
      Menu | + | Options |
      See Also:
    • GamepadBack

      public static final int GamepadBack
      View | - | Share |
      See Also:
    • GamepadFaceLeft

      public static final int GamepadFaceLeft
      X | Y | Square | Toggle Menu. Hold for Windowing mode (Focus/Move/Resize windows)
      See Also:
    • GamepadFaceRight

      public static final int GamepadFaceRight
      B | A | Circle | Cancel / Close / Exit
      See Also:
    • GamepadFaceUp

      public static final int GamepadFaceUp
      Y | X | Triangle | Open Context Menu
      See Also:
    • GamepadFaceDown

      public static final int GamepadFaceDown
      A | B | Cross | Activate / Open / Toggle. Hold for 0.60f to Activate in Text Input mode (e.g. wired to an on-screen keyboard).
      See Also:
    • GamepadDpadLeft

      public static final int GamepadDpadLeft
      D-pad Left | " | " | Move / Tweak / Resize Window (in Windowing mode)
      See Also:
    • GamepadDpadRight

      public static final int GamepadDpadRight
      D-pad Right | " | " | Move / Tweak / Resize Window (in Windowing mode)
      See Also:
    • GamepadDpadUp

      public static final int GamepadDpadUp
      D-pad Up | " | " | Move / Tweak / Resize Window (in Windowing mode)
      See Also:
    • GamepadDpadDown

      public static final int GamepadDpadDown
      D-pad Down | " | " | Move / Tweak / Resize Window (in Windowing mode)
      See Also:
    • GamepadL1

      public static final int GamepadL1
      L Bumper | L | L1 | Tweak Slower / Focus Previous (in Windowing mode)
      See Also:
    • GamepadR1

      public static final int GamepadR1
      R Bumper | R | R1 | Tweak Faster / Focus Next (in Windowing mode)
      See Also:
    • GamepadL2

      public static final int GamepadL2
      L Trigger | ZL | L2 | [Analog]
      See Also:
    • GamepadR2

      public static final int GamepadR2
      R Trigger | ZR | R2 | [Analog]
      See Also:
    • GamepadL3

      public static final int GamepadL3
      L Stick | L3 | L3 |
      See Also:
    • GamepadR3

      public static final int GamepadR3
      R Stick | R3 | R3 |
      See Also:
    • GamepadLStickLeft

      public static final int GamepadLStickLeft
      | | | [Analog] Move Window (in Windowing mode)
      See Also:
    • GamepadLStickRight

      public static final int GamepadLStickRight
      | | | [Analog] Move Window (in Windowing mode)
      See Also:
    • GamepadLStickUp

      public static final int GamepadLStickUp
      | | | [Analog] Move Window (in Windowing mode)
      See Also:
    • GamepadLStickDown

      public static final int GamepadLStickDown
      | | | [Analog] Move Window (in Windowing mode)
      See Also:
    • GamepadRStickLeft

      public static final int GamepadRStickLeft
      | | | [Analog]
      See Also:
    • GamepadRStickRight

      public static final int GamepadRStickRight
      | | | [Analog]
      See Also:
    • GamepadRStickUp

      public static final int GamepadRStickUp
      | | | [Analog]
      See Also:
    • GamepadRStickDown

      public static final int GamepadRStickDown
      | | | [Analog]
      See Also:
    • MouseLeft

      public static final int MouseLeft
      Aliases: Mouse Buttons (auto-submitted from AddMouseButtonEvent() calls) - This is mirroring the data also written to io.MouseDown[], io.MouseWheel, in a format allowing them to be accessed via standard key API.
      See Also:
    • MouseRight

      public static final int MouseRight
      Aliases: Mouse Buttons (auto-submitted from AddMouseButtonEvent() calls) - This is mirroring the data also written to io.MouseDown[], io.MouseWheel, in a format allowing them to be accessed via standard key API.
      See Also:
    • MouseMiddle

      public static final int MouseMiddle
      Aliases: Mouse Buttons (auto-submitted from AddMouseButtonEvent() calls) - This is mirroring the data also written to io.MouseDown[], io.MouseWheel, in a format allowing them to be accessed via standard key API.
      See Also:
    • MouseX1

      public static final int MouseX1
      Aliases: Mouse Buttons (auto-submitted from AddMouseButtonEvent() calls) - This is mirroring the data also written to io.MouseDown[], io.MouseWheel, in a format allowing them to be accessed via standard key API.
      See Also:
    • MouseX2

      public static final int MouseX2
      Aliases: Mouse Buttons (auto-submitted from AddMouseButtonEvent() calls) - This is mirroring the data also written to io.MouseDown[], io.MouseWheel, in a format allowing them to be accessed via standard key API.
      See Also:
    • MouseWheelX

      public static final int MouseWheelX
      Aliases: Mouse Buttons (auto-submitted from AddMouseButtonEvent() calls) - This is mirroring the data also written to io.MouseDown[], io.MouseWheel, in a format allowing them to be accessed via standard key API.
      See Also:
    • MouseWheelY

      public static final int MouseWheelY
      Aliases: Mouse Buttons (auto-submitted from AddMouseButtonEvent() calls) - This is mirroring the data also written to io.MouseDown[], io.MouseWheel, in a format allowing them to be accessed via standard key API.
      See Also:
    • ReservedForModCtrl

      public static final int ReservedForModCtrl
      [Internal] Reserved for mod storage
      See Also:
    • ReservedForModShift

      public static final int ReservedForModShift
      [Internal] Reserved for mod storage
      See Also:
    • ReservedForModAlt

      public static final int ReservedForModAlt
      [Internal] Reserved for mod storage
      See Also:
    • ReservedForModSuper

      public static final int ReservedForModSuper
      [Internal] Reserved for mod storage
      See Also:
    • NamedKey_END

      public static final int NamedKey_END
      [Internal] If you need to iterate all keys (for e.g. an input mapper) you may use ImGuiKey_NamedKey_BEGIN..ImGuiKey_NamedKey_END.
      See Also:
    • NamedKey_COUNT

      public static final int NamedKey_COUNT
      [Internal] If you need to iterate all keys (for e.g. an input mapper) you may use ImGuiKey_NamedKey_BEGIN..ImGuiKey_NamedKey_END.

      Definition: ImGuiKey_NamedKey_END - ImGuiKey_NamedKey_BEGIN

      See Also:
    • ImGuiMod_None

      public static final int ImGuiMod_None
      Keyboard Modifiers (explicitly submitted by backend via AddKeyEvent() calls) - Any functions taking a ImGuiKeyChord parameter can binary-or those with regular keys, e.g. Shortcut(ImGuiMod_Ctrl | ImGuiKey_S). - Those are written back into io.KeyCtrl, io.KeyShift, io.KeyAlt, io.KeySuper for convenience, but may be accessed via standard key API such as IsKeyPressed(), IsKeyReleased(), querying duration etc. - Code polling every key (e.g. an interface to detect a key press for input mapping) might want to ignore those and prefer using the real keys (e.g. ImGuiKey_LeftCtrl, ImGuiKey_RightCtrl instead of ImGuiMod_Ctrl). - In theory the value of keyboard modifiers should be roughly equivalent to a logical or of the equivalent left/right keys. In practice: it's complicated; mods are often provided from different sources. Keyboard layout, IME, sticky keys and backends tend to interfere and break that equivalence. The safer decision is to relay that ambiguity down to the end-user... - On macOS, we swap Cmd(Super) and Ctrl keys at the time of the io.AddKeyEvent() call.

      Definition: 0

      See Also:
    • ImGuiMod_Ctrl

      public static final int ImGuiMod_Ctrl
      Ctrl (non-macOS), Cmd (macOS)

      Definition: 1 << 12

      See Also:
    • ImGuiMod_Shift

      public static final int ImGuiMod_Shift
      Shift

      Definition: 1 << 13

      See Also:
    • ImGuiMod_Alt

      public static final int ImGuiMod_Alt
      Option/Menu

      Definition: 1 << 14

      See Also:
    • ImGuiMod_Super

      public static final int ImGuiMod_Super
      Windows/Super (non-macOS), Ctrl (macOS)

      Definition: 1 << 15

      See Also:
    • ImGuiMod_Mask_

      public static final int ImGuiMod_Mask_
      4-bits

      Definition: 0xF000

      See Also:
    • COUNT

      public static final int COUNT
      Obsoleted in 1.91.5 because it was misleading (since named keys don't start at 0 anymore)

      Definition: ImGuiKey_NamedKey_END

      See Also:
    • ImGuiMod_Shortcut

      public static final int ImGuiMod_Shortcut
      Removed in 1.90.7, you can now simply use ImGuiMod_Ctrl

      Definition: ImGuiMod_Ctrl

      See Also: