# -*- coding: utf-8 -*-
#
#  Copyright (C) 2002 by Tamito KAJIYAMA
#  Copyright (C) 2003-2019 by Shyouzou Sugitani <shy@users.osdn.me>
#
#  This program is free software; you can redistribute it and/or modify it
#  under the terms of the GNU General Public License (version 2) as
#  published by the Free Software Foundation.  It is distributed in the
#  hope that it will be useful, but WITHOUT ANY WARRANTY; without even the
#  implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
#  PURPOSE.  See the GNU General Public License for more details.
#

require "gtk4"

module Keymap

  Keymap_old = {
    Gdk::Keyval::KEY_BackSpace    => 'back',
    Gdk::Keyval::KEY_Tab          => 'tab',
    Gdk::Keyval::KEY_KP_Tab       => 'tab',
    Gdk::Keyval::KEY_Clear        => 'clear',
    Gdk::Keyval::KEY_Return       => 'return',
    Gdk::Keyval::KEY_KP_Enter     => 'return',
    Gdk::Keyval::KEY_Menu         => '',
    Gdk::Keyval::KEY_Pause        => 'pause',
    Gdk::Keyval::KEY_Kanji        => '',
    Gdk::Keyval::KEY_Escape       => 'escape',
    Gdk::Keyval::KEY_Henkan       => '',
    Gdk::Keyval::KEY_Muhenkan     => '',
    Gdk::Keyval::KEY_space        => 'space',
    Gdk::Keyval::KEY_Prior        => 'prior',
    Gdk::Keyval::KEY_Next         => 'next',
    Gdk::Keyval::KEY_End          => 'end',
    Gdk::Keyval::KEY_Home         => 'home',
    Gdk::Keyval::KEY_Left         => 'left',
    Gdk::Keyval::KEY_Up           => 'up',
    Gdk::Keyval::KEY_Right        => 'right',
    Gdk::Keyval::KEY_Down         => 'down',
    Gdk::Keyval::KEY_Select       => '',
    Gdk::Keyval::KEY_Print        => '',
    Gdk::Keyval::KEY_Execute      => '',
    Gdk::Keyval::KEY_Insert       => '',
    Gdk::Keyval::KEY_Delete       => 'delete',
    Gdk::Keyval::KEY_Help         => '',
    Gdk::Keyval::KEY_0            => '0',
    Gdk::Keyval::KEY_1            => '1',
    Gdk::Keyval::KEY_2            => '2',
    Gdk::Keyval::KEY_3            => '3',
    Gdk::Keyval::KEY_4            => '4',
    Gdk::Keyval::KEY_5            => '5',
    Gdk::Keyval::KEY_6            => '6',
    Gdk::Keyval::KEY_7            => '7',
    Gdk::Keyval::KEY_8            => '8',
    Gdk::Keyval::KEY_9            => '9',
    Gdk::Keyval::KEY_a            => 'a',
    Gdk::Keyval::KEY_b            => 'b',
    Gdk::Keyval::KEY_c            => 'c',
    Gdk::Keyval::KEY_d            => 'd',
    Gdk::Keyval::KEY_e            => 'e',
    Gdk::Keyval::KEY_f            => 'f',
    Gdk::Keyval::KEY_g            => 'g',
    Gdk::Keyval::KEY_h            => 'h',
    Gdk::Keyval::KEY_i            => 'i',
    Gdk::Keyval::KEY_j            => 'j',
    Gdk::Keyval::KEY_k            => 'k',
    Gdk::Keyval::KEY_l            => 'l',
    Gdk::Keyval::KEY_m            => 'm',
    Gdk::Keyval::KEY_n            => 'n',
    Gdk::Keyval::KEY_o            => 'o',
    Gdk::Keyval::KEY_p            => 'p',
    Gdk::Keyval::KEY_q            => 'q',
    Gdk::Keyval::KEY_r            => 'r',
    Gdk::Keyval::KEY_s            => 's',
    Gdk::Keyval::KEY_t            => 't',
    Gdk::Keyval::KEY_u            => 'u',
    Gdk::Keyval::KEY_v            => 'v',
    Gdk::Keyval::KEY_w            => 'w',
    Gdk::Keyval::KEY_x            => 'x',
    Gdk::Keyval::KEY_y            => 'y',
    Gdk::Keyval::KEY_z            => 'z',
    Gdk::Keyval::KEY_KP_0         => '0',
    Gdk::Keyval::KEY_KP_1         => '1',
    Gdk::Keyval::KEY_KP_2         => '2',
    Gdk::Keyval::KEY_KP_3         => '3',
    Gdk::Keyval::KEY_KP_4         => '4',
    Gdk::Keyval::KEY_KP_5         => '5',
    Gdk::Keyval::KEY_KP_6         => '6',
    Gdk::Keyval::KEY_KP_7         => '7',
    Gdk::Keyval::KEY_KP_8         => '8',
    Gdk::Keyval::KEY_KP_9         => '9',
    Gdk::Keyval::KEY_KP_Multiply  => '*',
    Gdk::Keyval::KEY_KP_Add       => '+',
    Gdk::Keyval::KEY_KP_Separator => '',
    Gdk::Keyval::KEY_KP_Subtract  => '-',
    Gdk::Keyval::KEY_KP_Decimal   => '',
    Gdk::Keyval::KEY_KP_Divide    => '/',
    Gdk::Keyval::KEY_F1           => 'f1',
    Gdk::Keyval::KEY_F2           => 'f2',
    Gdk::Keyval::KEY_F3           => 'f3',
    Gdk::Keyval::KEY_F4           => 'f4',
    Gdk::Keyval::KEY_F5           => 'f5',
    Gdk::Keyval::KEY_F6           => 'f6',
    Gdk::Keyval::KEY_F7           => 'f7',
    Gdk::Keyval::KEY_F8           => 'f8',
    Gdk::Keyval::KEY_F9           => 'f9',
    Gdk::Keyval::KEY_F10          => 'f10',
    Gdk::Keyval::KEY_F11          => 'f11',
    Gdk::Keyval::KEY_F12          => 'f12',
    Gdk::Keyval::KEY_F13          => 'f13',
    Gdk::Keyval::KEY_F14          => 'f14',
    Gdk::Keyval::KEY_F15          => 'f15',
    Gdk::Keyval::KEY_F16          => 'f16',
    Gdk::Keyval::KEY_F17          => 'f17',
    Gdk::Keyval::KEY_F18          => 'f18',
    Gdk::Keyval::KEY_F19          => 'f19',
    Gdk::Keyval::KEY_F20          => 'f20',
    Gdk::Keyval::KEY_F21          => 'f21',
    Gdk::Keyval::KEY_F22          => 'f22',
    Gdk::Keyval::KEY_F23          => 'f23',
    Gdk::Keyval::KEY_F24          => 'f24',
    Gdk::Keyval::KEY_Num_Lock     => '',
    Gdk::Keyval::KEY_Scroll_Lock  => '',
    Gdk::Keyval::KEY_Shift_L      => '',
    Gdk::Keyval::KEY_Shift_R      => '',
    Gdk::Keyval::KEY_Control_L    => '',
    Gdk::Keyval::KEY_Control_R    => '',
    }

  Keymap_new = {
    Gdk::Keyval::KEY_BackSpace    => '8',
    Gdk::Keyval::KEY_Tab          => '9',
    Gdk::Keyval::KEY_KP_Tab       => '9',
    Gdk::Keyval::KEY_Clear        => '12',
    Gdk::Keyval::KEY_Return       => '13',
    Gdk::Keyval::KEY_KP_Enter     => '13',
    Gdk::Keyval::KEY_Menu         => '18',
    Gdk::Keyval::KEY_Pause        => '19',
    Gdk::Keyval::KEY_Kanji        => '25',
    Gdk::Keyval::KEY_Escape       => '27',
    Gdk::Keyval::KEY_Henkan       => '28',
    Gdk::Keyval::KEY_Muhenkan     => '29',
    Gdk::Keyval::KEY_space        => '32',
    Gdk::Keyval::KEY_Prior        => '33',
    Gdk::Keyval::KEY_Next         => '34',
    Gdk::Keyval::KEY_End          => '35',
    Gdk::Keyval::KEY_Home         => '36',
    Gdk::Keyval::KEY_Left         => '37',
    Gdk::Keyval::KEY_Up           => '38',
    Gdk::Keyval::KEY_Right        => '39',
    Gdk::Keyval::KEY_Down         => '40',
    Gdk::Keyval::KEY_Select       => '41',
    Gdk::Keyval::KEY_Print        => '42',
    Gdk::Keyval::KEY_Execute      => '43',
    Gdk::Keyval::KEY_Insert       => '45',
    Gdk::Keyval::KEY_Delete       => '46',
    Gdk::Keyval::KEY_Help         => '47',
    Gdk::Keyval::KEY_0            => '48',
    Gdk::Keyval::KEY_1            => '49',
    Gdk::Keyval::KEY_2            => '50',
    Gdk::Keyval::KEY_3            => '51',
    Gdk::Keyval::KEY_4            => '52',
    Gdk::Keyval::KEY_5            => '53',
    Gdk::Keyval::KEY_6            => '54',
    Gdk::Keyval::KEY_7            => '55',
    Gdk::Keyval::KEY_8            => '56',
    Gdk::Keyval::KEY_9            => '57',
    Gdk::Keyval::KEY_a            => '65',
    Gdk::Keyval::KEY_b            => '66',
    Gdk::Keyval::KEY_c            => '67',
    Gdk::Keyval::KEY_d            => '68',
    Gdk::Keyval::KEY_e            => '69',
    Gdk::Keyval::KEY_f            => '70',
    Gdk::Keyval::KEY_g            => '71',
    Gdk::Keyval::KEY_h            => '72',
    Gdk::Keyval::KEY_i            => '73',
    Gdk::Keyval::KEY_j            => '74',
    Gdk::Keyval::KEY_k            => '75',
    Gdk::Keyval::KEY_l            => '76',
    Gdk::Keyval::KEY_m            => '77',
    Gdk::Keyval::KEY_n            => '78',
    Gdk::Keyval::KEY_o            => '79',
    Gdk::Keyval::KEY_p            => '80',
    Gdk::Keyval::KEY_q            => '81',
    Gdk::Keyval::KEY_r            => '82',
    Gdk::Keyval::KEY_s            => '83',
    Gdk::Keyval::KEY_t            => '84',
    Gdk::Keyval::KEY_u            => '85',
    Gdk::Keyval::KEY_v            => '86',
    Gdk::Keyval::KEY_w            => '87',
    Gdk::Keyval::KEY_x            => '88',
    Gdk::Keyval::KEY_y            => '89',
    Gdk::Keyval::KEY_z            => '90',
    Gdk::Keyval::KEY_KP_0         => '96',
    Gdk::Keyval::KEY_KP_1         => '97',
    Gdk::Keyval::KEY_KP_2         => '98',
    Gdk::Keyval::KEY_KP_3         => '99',
    Gdk::Keyval::KEY_KP_4         => '100',
    Gdk::Keyval::KEY_KP_5         => '101',
    Gdk::Keyval::KEY_KP_6         => '102',
    Gdk::Keyval::KEY_KP_7         => '103',
    Gdk::Keyval::KEY_KP_8         => '104',
    Gdk::Keyval::KEY_KP_9         => '105',
    Gdk::Keyval::KEY_KP_Multiply  => '106',
    Gdk::Keyval::KEY_KP_Add       => '107',
    Gdk::Keyval::KEY_KP_Separator => '108',
    Gdk::Keyval::KEY_KP_Subtract  => '109',
    Gdk::Keyval::KEY_KP_Decimal   => '110',
    Gdk::Keyval::KEY_KP_Divide    => '111',
    Gdk::Keyval::KEY_F1           => '112',
    Gdk::Keyval::KEY_F2           => '113',
    Gdk::Keyval::KEY_F3           => '114',
    Gdk::Keyval::KEY_F4           => '115',
    Gdk::Keyval::KEY_F5           => '116',
    Gdk::Keyval::KEY_F6           => '117',
    Gdk::Keyval::KEY_F7           => '118',
    Gdk::Keyval::KEY_F8           => '119',
    Gdk::Keyval::KEY_F9           => '120',
    Gdk::Keyval::KEY_F10          => '121',
    Gdk::Keyval::KEY_F11          => '122',
    Gdk::Keyval::KEY_F12          => '123',
    Gdk::Keyval::KEY_F13          => '124',
    Gdk::Keyval::KEY_F14          => '125',
    Gdk::Keyval::KEY_F15          => '126',
    Gdk::Keyval::KEY_F16          => '127',
    Gdk::Keyval::KEY_F17          => '128',
    Gdk::Keyval::KEY_F18          => '129',
    Gdk::Keyval::KEY_F19          => '130',
    Gdk::Keyval::KEY_F20          => '131',
    Gdk::Keyval::KEY_F21          => '132',
    Gdk::Keyval::KEY_F22          => '133',
    Gdk::Keyval::KEY_F23          => '134',
    Gdk::Keyval::KEY_F24          => '135',
    Gdk::Keyval::KEY_Num_Lock     => '144',
    Gdk::Keyval::KEY_Scroll_Lock  => '145',
    Gdk::Keyval::KEY_Shift_L      => '160',
    Gdk::Keyval::KEY_Shift_R      => '161',
    Gdk::Keyval::KEY_Control_L    => '162',
    Gdk::Keyval::KEY_Control_R    => '163',
    }

end
