//+------------------------------------------------------------------+
//|                              Win32API_KeyCodes_ENUM_Template.mq5 |
//|                                  Copyright 2025, MetaQuotes Ltd. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2025, MetaQuotes Ltd."
#property link      "https://www.mql5.com"
#property version   "1.00"
#property indicator_chart_window
#property indicator_plots 0

enum enWin32KeyCodes {
    Code8 = 8,   // Backspace
    Code9 = 9,   // Tab
    Code12 = 12, // 5 in the numeric keypad when Num Lock is off
    Code13 = 13, // Enter
    Code16 = 16, // Shift
    Code17 = 17, // Ctrl
    Code18 = 18, // Alt
    Code19 = 19, // Pause/Break
    Code20 = 20, // Caps Lock
    Code27 = 27, // Esc
    Code32 = 32, // Space
    Code33 = 33, // Page Up
    Code34 = 34, // Page Down
    Code35 = 35, // End
    Code36 = 36, // Home
    Code37 = 37, // Left arrow
    Code38 = 38, // Up arrow
    Code39 = 39, // Right arrow
    Code40 = 40, // Down arrow
    Code44 = 44, // Print Screen
    Code45 = 45, // Insert
    Code46 = 46, // Delete
    Code48 = 48, // 0
    Code49 = 49, // 1
    Code50 = 50, // 2
    Code51 = 51, // 3
    Code52 = 52, // 4
    Code53 = 53, // 5
    Code54 = 54, // 6
    Code55 = 55, // 7
    Code56 = 56, // 8
    Code57 = 57, // 9
    Code65 = 65, // A
    Code66 = 66, // B
    Code67 = 67, // C
    Code68 = 68, // D
    Code69 = 69, // E
    Code70 = 70, // F
    Code71 = 71, // G
    Code72 = 72, // H
    Code73 = 73, // I
    Code74 = 74, // J
    Code75 = 75, // K
    Code76 = 76, // L
    Code77 = 77, // M
    Code78 = 78, // N
    Code79 = 79, // O
    Code80 = 80, // P
    Code81 = 81, // Q
    Code82 = 82, // R
    Code83 = 83, // S
    Code84 = 84, // T
    Code85 = 85, // U
    Code86 = 86, // V
    Code87 = 87, // W
    Code88 = 88, // X
    Code89 = 89, // Y
    Code90 = 90, // Z
    Code91 = 91, // Left Win
    Code92 = 92, // Right Win
    Code93 = 93, // Popup/Menu
    Code96 = 96, // 0 in numeric keypad
    Code97 = 97, // 1 in numeric keypad
    Code98 = 98, // 2 in numeric keypad
    Code99 = 99, // 3 in numeric keypad
    Code100 = 100, // 4 in numeric keypad
    Code101 = 101, // 5 in numeric keypad
    Code102 = 102, // 6 in numeric keypad
    Code103 = 103, // 7 in numeric keypad
    Code104 = 104, // 8 in numeric keypad
    Code105 = 105, // 9 in numeric keypad
    Code106 = 106, // * in numeric keypad
    Code107 = 107, // + in numeric keypad
    Code109 = 109, // - in numeric keypad
    Code110 = 110, // . in numeric keypad
    Code111 = 111, // / in numeric keypad
    Code112 = 112, // F1
    Code113 = 113, // F2
    Code114 = 114, // F3
    Code115 = 115, // F4
    Code116 = 116, // F5
    Code117 = 117, // F6
    Code118 = 118, // F7
    Code119 = 119, // F8
    Code120 = 120, // F9
    Code121 = 121, // F10
    Code122 = 122, // F11
    Code123 = 123, // F12
    Code144 = 144, // Num Lock
    Code145 = 145, // Scroll Lock
    Code160 = 160, // Left Shift
    Code161 = 161, // Right Shift
    Code162 = 162, // Left Ctrl
    Code163 = 163  // Right Ctrl
};

input enWin32KeyCodes            HotKey       = Code39;        // Select Hotkey
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- indicator buffers mapping
   
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int OnCalculate(const int32_t rates_total,
                const int32_t prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int32_t &spread[])
  {
//---
   
//--- return value of prev_calculated for next call
   return(rates_total);
  }
//+------------------------------------------------------------------+
