# Copyright 2010-2021, Google Inc.
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are
# met:
#
#     * Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
#     * Redistributions in binary form must reproduce the above
# copyright notice, this list of conditions and the following disclaimer
# in the documentation and/or other materials provided with the
# distribution.
#     * Neither the name of Google Inc. nor the names of its
# contributors may be used to endorse or promote products derived from
# this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

# The duration of showing each window in sec
ConversionWindowDurationMSec
PredictionWindowDurationMSec
SuggestionWindowDurationMSec
InfolistWindowDurationMSec

# The count of commit
Commit
# The count of commit from each state
CommitFromPrediction
CommitFromConversion
CommitFromComposition
CommitFromUnknown
# The count of commit special characters
CommitEmoji

# The count of commit from each state in Chrome Omnibox
CommitFromConversionInChromeOmnibox
CommitFromPredictionInChromeOmnibox
CommitFromCompositionInChromeOmnibox

# The count of commit from each state in Google search box
CommitFromConversionInGoogleSearchBox
CommitFromPredictionInGoogleSearchBox
CommitFromCompositionInGoogleSearchBox

# The number of the candidates committed from partial suggestion
# CommitPartialSuggestion and CommitAutoPartialSuggestion are exclusive.
CommitPartialSuggestion
CommitAutoPartialSuggestion

# The number of the commited Unicode/carrier emoji.
CommitUnicodeEmoji
CommitCarrierEmoji

# Zero query related
CommitDictionaryPredictorZeroQueryTypeNone
CommitDictionaryPredictorZeroQueryTypeNumberSuffix
CommitDictionaryPredictorZeroQueryTypeEmoticon
CommitDictionaryPredictorZeroQueryTypeEmoji
CommitDictionaryPredictorZeroQueryTypeBigram
CommitDictionaryPredictorZeroQueryTypeSuffix

# User history predictor related
CommitUserHistoryPredictor
CommitUserHistoryPredictorZeroQuery

# The count of all events
SessionAllEvent

# The elapsed time for processing the request
ElapsedTimeUSec

# The count of session creation
SessionCreated

# The count of SetConfig command call
SetConfig

# The total submitted length count
SubmittedTotalLength

# Following 3 stats are scaled by 1,000 to improve the accuracy of average
# values.
# The length of submitted segment.
# 猫を|飼う -> [2000, 2000]
SubmittedSegmentLengthx1000
# The count of submitted segment.
# 猫を|飼う -> 2000
SubmittedSegmentNumberx1000
# The length of submitted segment
# 猫を|飼う -> 4000
SubmittedLengthx1000

# The count of ascii/non-ascii typing input
ASCIITyping
NonASCIITyping

# The count that each candidate is selected from prediction
PredictionCandidates0
PredictionCandidates1
PredictionCandidates2
PredictionCandidates3
PredictionCandidates4
PredictionCandidates5
PredictionCandidates6
PredictionCandidates7
PredictionCandidates8
PredictionCandidates9
PredictionCandidatesGE10

# The count that each candidate is selected from conversion
ConversionCandidates0
ConversionCandidates1
ConversionCandidates2
ConversionCandidates3
ConversionCandidates4
ConversionCandidates5
ConversionCandidates6
ConversionCandidates7
ConversionCandidates8
ConversionCandidates9
ConversionCandidatesGE10

# The count that each candidate is selected from conversion and
# it was from transliteration
TransliterationCandidates0
TransliterationCandidates1
TransliterationCandidates2
TransliterationCandidates3
TransliterationCandidates4
TransliterationCandidates5
TransliterationCandidates6
TransliterationCandidates7
TransliterationCandidates8
TransliterationCandidates9
TransliterationCandidatesGE10

# The count of language aware suggestions are displayed and committed.
LanguageAwareSuggestionTriggered
LanguageAwareSuggestionCommitted

# The count of mouse selection command call
MouseSelect

# The time in msec of each session
SessionDurationMSec

# The time in msec of each preedit
PreeditDurationMSec

# The count of showing cascading window
ShowCascadingWindow

# The count of ShutDown command call
ShutDown

# The count of SendKey command, consumed or unconsumed
ConsumedSendKey
UnconsumedSendKey

# The count of clear personalization data command call
ClearUserHistory

# The count of clear all history command call
ClearUserPrediction

# The count of clear unused history command call
ClearUnusedUserPrediction

# The count of pressing BS just after commit command
BackSpaceAfterCommit

# Performed command names for sendkey command
Performed_Direct_IMEOn
Performed_Direct_InputModeHiragana
Performed_Direct_InputModeFullKatakana
Performed_Direct_InputModeHalfKatakana
Performed_Direct_InputModeFullAlphanumeric
Performed_Direct_InputModeHalfAlphanumeric
Performed_Direct_Reconvert

Performed_Precomposition_IMEOff
Performed_Precomposition_IMEOn
Performed_Precomposition_InsertCharacter
Performed_Precomposition_InsertSpace
Performed_Precomposition_InsertAlternateSpace
Performed_Precomposition_InsertHalfSpace
Performed_Precomposition_InsertFullSpace
Performed_Precomposition_ToggleAlphanumericMode
Performed_Precomposition_InputModeHiragana
Performed_Precomposition_InputModeFullKatakana
Performed_Precomposition_InputModeHalfKatakana
Performed_Precomposition_InputModeFullAlphanumeric
Performed_Precomposition_InputModeHalfAlphanumeric
Performed_Precomposition_InputModeSwitchKanaType
Performed_Precomposition_LaunchConfigDialog
Performed_Precomposition_LaunchDictionaryTool
Performed_Precomposition_LaunchWordRegisterDialog
Performed_Precomposition_Revert
Performed_Precomposition_Undo
Performed_Precomposition_Cancel
Performed_Precomposition_CancelAndIMEOff
Performed_Precomposition_PredictAndConvert
Performed_Precomposition_CommitFirstSuggestion
Performed_Precomposition_Reconvert

Performed_Composition_IMEOff
Performed_Composition_IMEOn
Performed_Composition_InsertCharacter
Performed_Composition_Delete
Performed_Composition_Backspace
Performed_Composition_InsertSpace
Performed_Composition_InsertAlternateSpace
Performed_Composition_InsertHalfSpace
Performed_Composition_InsertFullSpace
Performed_Composition_Cancel
Performed_Composition_CancelAndIMEOff
Performed_Composition_Undo
Performed_Composition_MoveCursorLeft
Performed_Composition_MoveCursorRight
Performed_Composition_MoveCursorToBeginning
Performed_Composition_MoveCursorToEnd
Performed_Composition_Commit
Performed_Composition_CommitFirstSuggestion
Performed_Composition_Convert
Performed_Composition_ConvertWithoutHistory
Performed_Composition_PredictAndConvert
Performed_Composition_ConvertToHiragana
Performed_Composition_ConvertToFullKatakana
Performed_Composition_ConvertToHalfKatakana
Performed_Composition_ConvertToHalfWidth
Performed_Composition_ConvertToFullAlphanumeric
Performed_Composition_ConvertToHalfAlphanumeric
Performed_Composition_SwitchKanaType
Performed_Composition_DisplayAsHiragana
Performed_Composition_DisplayAsFullKatakana
Performed_Composition_DisplayAsHalfKatakana
Performed_Composition_DisplayAsHalfWidth
Performed_Composition_DisplayAsFullAlphanumeric
Performed_Composition_DisplayAsHalfAlphanumeric
Performed_Composition_ToggleAlphanumericMode
Performed_Composition_InputModeHiragana
Performed_Composition_InputModeFullKatakana
Performed_Composition_InputModeHalfKatakana
Performed_Composition_InputModeFullAlphanumeric
Performed_Composition_InputModeHalfAlphanumeric

Performed_Conversion_IMEOff
Performed_Conversion_IMEOn
Performed_Conversion_InsertCharacter
Performed_Conversion_InsertSpace
Performed_Conversion_InsertAlternateSpace
Performed_Conversion_InsertHalfSpace
Performed_Conversion_InsertFullSpace
Performed_Conversion_Cancel
Performed_Conversion_CancelAndIMEOff
Performed_Conversion_Undo
Performed_Conversion_SegmentFocusLeft
Performed_Conversion_SegmentFocusRight
Performed_Conversion_SegmentFocusFirst
Performed_Conversion_SegmentFocusLast
Performed_Conversion_SegmentWidthExpand
Performed_Conversion_SegmentWidthShrink
Performed_Conversion_ConvertNext
Performed_Conversion_ConvertPrev
Performed_Conversion_ConvertNextPage
Performed_Conversion_ConvertPrevPage
Performed_Conversion_PredictAndConvert
Performed_Conversion_Commit
Performed_Conversion_CommitOnlyFirstSegment
Performed_Conversion_ConvertToHiragana
Performed_Conversion_ConvertToFullKatakana
Performed_Conversion_ConvertToHalfKatakana
Performed_Conversion_ConvertToHalfWidth
Performed_Conversion_ConvertToFullAlphanumeric
Performed_Conversion_ConvertToHalfAlphanumeric
Performed_Conversion_SwitchKanaType
Performed_Conversion_ToggleAlphanumericMode
Performed_Conversion_DisplayAsHiragana
Performed_Conversion_DisplayAsFullKatakana
Performed_Conversion_DisplayAsHalfKatakana
Performed_Conversion_DisplayAsHalfWidth
Performed_Conversion_DisplayAsFullAlphanumeric
Performed_Conversion_DisplayAsHalfAlphanumeric
Performed_Conversion_InputModeHiragana
Performed_Conversion_InputModeFullKatakana
Performed_Conversion_InputModeHalfKatakana
Performed_Conversion_InputModeFullAlphanumeric
Performed_Conversion_InputModeHalfAlphanumeric
Performed_Conversion_ReportBug
Performed_Conversion_DeleteSelectedCandidate

# The count of some SessionCommands defined in protocol/commands.proto
SendCommand_None
SendCommand_Revert
SendCommand_Submit
SendCommand_SelectCandidate
SendCommand_HighlightCandidate
SendCommand_SwitchInputMode
SendCommand_GetStatus
SendCommand_SubmitCandidate
SendCommand_ConvertReverse
SendCommand_Undo
SendCommand_ResetContext
SendCommand_MoveCursor
SendCommand_SwitchInputFieldType
SendCommand_UsageStatsEvent
SendCommand_UndoOrRewind
SendCommand_StopKeyToggling
SendCommand_ExpandSuggestion
SendCommand_CommitRawText
SendCommand_ConvertPrevPage
SendCommand_ConvertNextPage
SendCommand_TurnOnIme
SendCommand_TurnOffIme
SendCommand_DeleteCandidateFromHistory

# The count of revert in Chrome Omnibox or Google search box
SendCommand_RevertInChromeOmnibox
SendCommand_RevertInGoogleSearchBox

# The count of special keys input
NO_SPECIALKEY
DIGIT
ON
OFF
SPACE
ENTER
LEFT
RIGHT
UP
DOWN
ESCAPE
DEL
BACKSPACE
HENKAN
MUHENKAN
# VK_DBE_HIRAGANA(Win), kVK_JIS_Kana(Mac)
KANA
HOME
END
TAB
F1
F2
F3
F4
F5
F6
F7
F8
F9
F10
F11
F12
PAGE_UP
PAGE_DOWN
INSERT
F13
F14
F15
F16
F17
F18
F19
F20
F21
F22
F23
F24
# alphanumeric  VK_DBE_ALPHANUMERIC(Win), kVK_JIS_Eisu(Mac)
EISU
NUMPAD0
NUMPAD1
NUMPAD2
NUMPAD3
NUMPAD4
NUMPAD5
NUMPAD6
NUMPAD7
NUMPAD8
NUMPAD9
# Numpad [*]
MULTIPLY
# Numpad [+]
ADD
# Numpad [enter]
SEPARATOR
# Numpad [-]
SUBTRACT
# Numpad [.]
DECIMAL
# Numpad [/]
DIVIDE
# Numpad [=]
EQUALS
TEXT_INPUT
HANKAKU
KANJI
KATAKANA
CAPS_LOCK
# Unsupported keys (e.g. PrtSc, Pause) fall back to UNDEFINED_KEY.
UNDEFINED_KEY
# Numpad [,]
COMMA
# Numpad [5]
CLEAR
# Left/Right/Enter keys of software keyboard
VIRTUAL_LEFT
VIRTUAL_RIGHT
VIRTUAL_ENTER
VIRTUAL_UP
VIRTUAL_DOWN

# Stats for config
# Keymap style
ConfigSessionKeymap
# Input mode
ConfigPreeditMethod
# Costom roman table
ConfigCustomRomanTable
# Punctuation style
ConfigPunctuationMethod
# Symbol style
ConfigSymbolMethod
# Adjust conversion based on previous input
ConfigHistoryLearningLevel
# Date/time conversion
ConfigUseDateConversion
# Single kanji dictionary
ConfigUseSingleKanjiConversion
# Symbol dictionary
ConfigUseSymbolConversion
# Special number conversion
ConfigUseNumberConversion
# Emotion conversion
ConfigUseEmoticonConversion
# Calculator conversion
ConfigUseCalculator
# T13n conversion
ConfigUseT13nConversion
# Zip code conversion
ConfigUseZipCodeConversion
# Spelling correction
ConfigUseSpellingCorrection
# Emoji conversion
ConfigUseEmojiConversion
# Secret mode
ConfigIncognito
# Selection shortcut
ConfigSelectionShortcut
# Use input history
ConfigUseHistorySuggest
# Use system dictionary
ConfigUseDictionarySuggest
# Use realtime conversion
ConfigUseRealtimeConversion
# Maximum number of suggestions
ConfigSuggestionsSize
# Automatically switch to halfwidth
ConfigUseAutoIMETurnOff
# Use cascanding window
ConfigUseCascadingWindow
# Composition Editor's behavior with Shift key
ConfigShiftKeyModeSwitch
# Numpad character style
ConfigNumpadCharacterForm
# Use auto conversion
ConfigUseAutoConversion
# Auto conversion key
ConfigAutoConversionKey
# Yen sign character
ConfigYenSignCharacter
# Use Japanese layout
ConfigUseJapaneseLayout
# Space input style
ConfigSpaceCharacterForm
# Allow cloud handwriting
ConfigAllowCloudHandwriting
# Use local usage dictionary
ConfigUseLocalUsageDictionary
# Prelauncher is enabled or not
PrelauncherEnabled
# Use Mode Indicator
ConfigUseModeIndicator

# Set Mozc as default on install
PostInstallSetDefault
# Do not set Mozc as default on install
PostInstallNotSetDefault
# Push OK button
PostInstallOkButton
# Push reject (x) button
PostInstallRejectButton

# Whether the user customed keybindings for IME activation
IMEActivationKeyCustomized

# Number of user registered dictionary word
UserRegisteredWord
# Number of user history entries for UserHistoryPredictor
UserHistoryPredictorEntrySize
# Number of user history entries for UserBoundaryHistoryRewriter
UserBoundaryHistoryEntrySize
# Number of user history entries for UserSegmentHistoryRewriter
UserSegmentHistoryEntrySize
# (Android Only) API Level
AndroidApiLevel
# Total memory in MB
TotalPhysicalMemory

# The count of the handwriting tool opened
HandwritingOpen
# The count of the commit from the handwriting tool
HandwritingCommit
# The count of the character palette opened
CharacterPaletteOpen
# The count of the commit from the character palette
CharacterPaletteCommit
# Selected software keyboard layout for landscape.
SoftwareKeyboardLayoutLandscape
# Selected software keyboard layout for portrait.
SoftwareKeyboardLayoutPortrait
# The count of submitted candidate in n-th row (0-origin)
SubmittedCandidateRow0
SubmittedCandidateRow1
SubmittedCandidateRow2
SubmittedCandidateRow3
SubmittedCandidateRow4
SubmittedCandidateRow5
SubmittedCandidateRow6
SubmittedCandidateRow7
SubmittedCandidateRow8
SubmittedCandidateRow9
SubmittedCandidateRowGE10
# The count of the fold/expand keyboard event.
KeyboardFoldEvent
KeyboardExpandEvent
MushroomSelectionDialogOpen
SoftwareKeyboardLayoutAdjustmentEnabledLandscape
SoftwareKeyboardLayoutAdjustmentEnabledPortrait
SoftwareKeyboardLayoutEnglishLandscape
SoftwareKeyboardLayoutEnglishPortrait

# for windows

# 64 bit
WindowsX64
# Windows 8
PerUserInputSettingsEnabled

# Virtual keyboard touch event stats
VirtualKeyboardStats
VirtualKeyboardMissStats

# Big dictionary stats
BigDictionaryState

# usage stats
UsageStatsUploadFailed
