note
	description: "[
		chocolate doom doomkeys.h
		
		Key definitions
	]"
	license: "[
		Copyright (C) 1993-1996 by id Software, Inc.
		Copyright (C) 2005-2014 Simon Howard
		Copyright (C) 2021 Ilgiz Mustafin
		
		This program is free software; you can redistribute it and/or modify
		it under the terms of the GNU General Public License as published by
		the Free Software Foundation; either version 2 of the License, or
		(at your option) any later version.
		
		This program 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.
		
		You should have received a copy of the GNU General Public License along
		with this program; if not, write to the Free Software Foundation, Inc.,
		51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
	]"

class 
	DOOMKEYS_H

create 
	default_create

feature -- DOOM keyboard definition

	Key_rightarrow: INTEGER_32 = 174

	Key_leftarrow: INTEGER_32 = 172

	Key_uparrow: INTEGER_32 = 173

	Key_downarrow: INTEGER_32 = 175

	Key_rctrl: INTEGER_32
		once
			Result := 128 + 29
		ensure
			instance_free: class
		end

	Key_ralt: INTEGER_32
		once
			Result := 128 + 56
		ensure
			instance_free: class
		end

	Key_lalt: INTEGER_32
		once
			Result := Key_ralt
		ensure
			instance_free: class
		end

	Key_rshift: INTEGER_32
		once
			Result := 128 + 54
		ensure
			instance_free: class
		end

	Key_pause: INTEGER_32 = 255

	Key_enter: INTEGER_32 = 13

	Key_escape: INTEGER_32 = 27

	Key_backspace: INTEGER_32 = 127

	Key_tab: INTEGER_32 = 9

	Key_minus: INTEGER_32 = 45

	Key_equals: INTEGER_32 = 61

	Key_capslock: INTEGER_32
		once
			Result := 128 + 58
		ensure
			instance_free: class
		end

	Key_f1: INTEGER_32
		once
			Result := 128 + 59
		ensure
			instance_free: class
		end

	Key_f2: INTEGER_32
		once
			Result := 128 + 60
		ensure
			instance_free: class
		end

	Key_f3: INTEGER_32
		once
			Result := 128 + 61
		ensure
			instance_free: class
		end

	Key_f4: INTEGER_32
		once
			Result := 128 + 62
		ensure
			instance_free: class
		end

	Key_f5: INTEGER_32
		once
			Result := 128 + 63
		ensure
			instance_free: class
		end

	Key_f6: INTEGER_32
		once
			Result := 128 + 64
		ensure
			instance_free: class
		end

	Key_f7: INTEGER_32
		once
			Result := 128 + 65
		ensure
			instance_free: class
		end

	Key_f8: INTEGER_32
		once
			Result := 128 + 66
		ensure
			instance_free: class
		end

	Key_f9: INTEGER_32
		once
			Result := 128 + 67
		ensure
			instance_free: class
		end

	Key_f10: INTEGER_32
		once
			Result := 128 + 68
		ensure
			instance_free: class
		end

	Key_f11: INTEGER_32
		once
			Result := 128 + 87
		ensure
			instance_free: class
		end

	Key_f12: INTEGER_32
		once
			Result := 128 + 88
		ensure
			instance_free: class
		end

	Key_numlock: INTEGER_32
		once
			Result := (128 + 69)
		ensure
			instance_free: class
		end

	Key_scrlck: INTEGER_32
		once
			Result := (128 + 70)
		ensure
			instance_free: class
		end

	Key_prtscr: INTEGER_32
		once
			Result := (128 + 89)
		ensure
			instance_free: class
		end

	Key_home: INTEGER_32
		once
			Result := (128 + 71)
		ensure
			instance_free: class
		end

	Key_end: INTEGER_32
		once
			Result := (128 + 79)
		ensure
			instance_free: class
		end

	Key_pgup: INTEGER_32
		once
			Result := (128 + 73)
		ensure
			instance_free: class
		end

	Key_pgdn: INTEGER_32
		once
			Result := (128 + 81)
		ensure
			instance_free: class
		end

	Key_ins: INTEGER_32
		once
			Result := (128 + 82)
		ensure
			instance_free: class
		end

	Key_del: INTEGER_32
		once
			Result := (128 + 83)
		ensure
			instance_free: class
		end

	Keyp_0: INTEGER_32
		once
			Result := Key_ins
		ensure
			instance_free: class
		end

	Keyp_1: INTEGER_32
		once
			Result := Key_end
		ensure
			instance_free: class
		end

	Keyp_2: INTEGER_32
		once
			Result := Key_downarrow
		ensure
			instance_free: class
		end

	Keyp_3: INTEGER_32
		once
			Result := Key_pgdn
		ensure
			instance_free: class
		end

	Keyp_4: INTEGER_32
		once
			Result := Key_leftarrow
		ensure
			instance_free: class
		end

	Keyp_5: INTEGER_32
		once
			Result := (128 + 76)
		ensure
			instance_free: class
		end

	Keyp_6: INTEGER_32
		once
			Result := Key_rightarrow
		ensure
			instance_free: class
		end

	Keyp_7: INTEGER_32
		once
			Result := Key_home
		ensure
			instance_free: class
		end

	Keyp_8: INTEGER_32
		once
			Result := Key_uparrow
		ensure
			instance_free: class
		end

	Keyp_9: INTEGER_32
		once
			Result := Key_pgup
		ensure
			instance_free: class
		end

	Keyp_divide: INTEGER_32
		once
			Result := ('/').code
		ensure
			instance_free: class
		end

	Keyp_plus: INTEGER_32
		once
			Result := ('+').code
		ensure
			instance_free: class
		end

	Keyp_minus: INTEGER_32
		once
			Result := ('-').code
		ensure
			instance_free: class
		end

	Keyp_multiply: INTEGER_32
		once
			Result := ('*').code
		ensure
			instance_free: class
		end

	Keyp_period: INTEGER_32
		once
			Result := 0
		ensure
			instance_free: class
		end

	Keyp_equals: INTEGER_32
		once
			Result := Key_equals
		ensure
			instance_free: class
		end

	Keyp_enter: INTEGER_32
		once
			Result := Key_enter
		ensure
			instance_free: class
		end
	
feature 

	Scancode_to_keys_array: ARRAY [INTEGER_32]
		once
			Result := ARRAY [INTEGER_32] <<0, 0, 0, ('a').code, ('b').code, ('c').code, ('d').code, ('e').code, ('f').code, ('g').code, ('h').code, ('i').code, ('j').code, ('k').code, ('l').code, ('m').code, ('n').code, ('o').code, ('p').code, ('q').code, ('r').code, ('s').code, ('t').code, ('u').code, ('v').code, ('w').code, ('x').code, ('y').code, ('z').code, ('1').code, ('2').code, ('3').code, ('4').code, ('5').code, ('6').code, ('7').code, ('8').code, ('9').code, ('0').code, Key_enter, Key_escape, Key_backspace, Key_tab, (' ').code, Key_minus, Key_equals, ('[').code, (']').code, ('\').code, 0, (';').code, ('%'').code, ('`').code, (',').code, ('.').code, ('/').code, Key_capslock, Key_f1, Key_f2, Key_f3, Key_f4, Key_f5, Key_f6, Key_f7, Key_f8, Key_f9, Key_f10, Key_f11, Key_f12, Key_prtscr, Key_scrlck, Key_pause, Key_ins, Key_home, Key_pgup, Key_del, Key_end, Key_pgdn, Key_rightarrow, Key_leftarrow, Key_downarrow, Key_uparrow, Key_numlock, Keyp_divide, Keyp_multiply, Keyp_minus, Keyp_plus, Keyp_enter, Keyp_1, Keyp_2, Keyp_3, Keyp_4, Keyp_5, Keyp_6, Keyp_7, Keyp_8, Keyp_9, Keyp_0, Keyp_period, 0, 0, 0, Keyp_equals>>
		ensure
			instance_free: class
		end
	
end -- class DOOMKEYS_H

Generated by ISE EiffelStudio