Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
P
PUAE
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
PocketInsanity
PUAE
Commits
268a97f6
Commit
268a97f6
authored
Sep 02, 2010
by
Mustafa 'GnoStiC' TUFAN
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
puae 2.3.0
parent
10d242f7
Changes
10
Show whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
713 additions
and
168 deletions
+713
-168
sdlgfx.c
src/gfx-sdl/sdlgfx.c
+19
-22
sdlkeys.c
src/gfx-sdl/sdlkeys.c
+114
-0
svga.c
src/gfx-svga/svga.c
+2
-2
hotkeys.c
src/hotkeys.c
+2
-0
keyboard.h
src/include/keyboard.h
+7
-7
inputdevice.c
src/inputdevice.c
+1
-1
keymap.c
src/keymap/keymap.c
+128
-128
keymap.h
src/keymap/keymap.h
+164
-0
misc.c
src/misc.c
+273
-5
config.log
src/tools/config.log
+3
-3
No files found.
src/gfx-sdl/sdlgfx.c
View file @
268a97f6
...
...
@@ -1351,9 +1351,8 @@ void handle_events (void)
break;
}
*/
if
(
currprefs
.
map_raw_keys
)
{
/*
if (currprefs.map_raw_keys) {
keycode = rEvent.key.keysym.scancode;
write_log
(
"sdlgfx_raw: %d
\n
"
,
keycode
);
// Hack - OS4 keyup events have bit 7 set.
#ifdef TARGET_AMIGAOS
keycode &= 0x7F;
...
...
@@ -1361,23 +1360,21 @@ write_log("sdlgfx_raw: %d\n", keycode);
modifier_hack (&keycode, &state);
} else
keycode = rEvent.key.keysym.sym;
write_log
(
"sdlgfx_Nraw: %d
\n
"
,
keycode
);
DEBUG_LOG
(
"Event: key %d %s
\n
"
,
keycode
,
state
?
"down"
:
"up"
);
*/
keycode
=
rEvent
.
key
.
keysym
.
sym
;
// write_log ("Event: key: %d to: %d %s\n", keycode, sdlk2dik (keycode), state ? "down" : "up");
my_kbd_handler
(
0
,
sdlk2dik
(
keycode
),
state
);
/*
if ((ievent = match_hotkey_sequence (keycode, state))) {
write_log
(
"sdlgfx_hot: %d
\n
"
,
ievent
);
DEBUG_LOG ("Hotkey event: %d\n", ievent);
handle_hotkey_event (ievent, state);
} else {
if (currprefs.map_raw_keys) {
write_log
(
"sdlgfx_Nhot_raw: %d
\n
"
,
keycode
);
inputdevice_translatekeycode (0, keycode, state);
} else {
write_log
(
"sdlgfx_Nhot_Nraw: %d
\n
"
,
keycode
);
inputdevice_do_keyboard (keysym2amiga (keycode), state);
}
}
}*/
break
;
}
...
...
src/gfx-sdl/sdlkeys.c
View file @
268a97f6
...
...
@@ -359,6 +359,120 @@ static int decode_tr (int keysym)
}
}
int
sdlk2dik
(
int
keysym
)
{
switch
(
keysym
)
{
case
SDLK_ESCAPE
:
return
0x01
;
case
SDLK_1
:
return
0x02
;
case
SDLK_2
:
return
0x03
;
case
SDLK_3
:
return
0x04
;
case
SDLK_4
:
return
0x05
;
case
SDLK_5
:
return
0x06
;
case
SDLK_6
:
return
0x07
;
case
SDLK_7
:
return
0x08
;
case
SDLK_8
:
return
0x09
;
case
SDLK_9
:
return
0x0a
;
case
SDLK_0
:
return
0x0b
;
case
SDLK_BACKSPACE
:
return
0x0e
;
//
case
SDLK_TAB
:
return
0x0f
;
case
SDLK_q
:
return
0x10
;
case
SDLK_w
:
return
0x11
;
case
SDLK_e
:
return
0x12
;
case
SDLK_r
:
return
0x13
;
case
SDLK_t
:
return
0x14
;
case
SDLK_y
:
return
0x15
;
case
SDLK_u
:
return
0x16
;
case
SDLK_i
:
return
0x17
;
case
SDLK_o
:
return
0x18
;
case
SDLK_p
:
return
0x19
;
case
SDLK_RETURN
:
return
0x1c
;
case
SDLK_LCTRL
:
return
0x1d
;
//
case
SDLK_a
:
return
0x1e
;
case
SDLK_s
:
return
0x1f
;
case
SDLK_d
:
return
0x20
;
case
SDLK_f
:
return
0x21
;
case
SDLK_g
:
return
0x22
;
case
SDLK_h
:
return
0x23
;
case
SDLK_j
:
return
0x24
;
case
SDLK_k
:
return
0x25
;
case
SDLK_l
:
return
0x26
;
case
SDLK_LSHIFT
:
return
0x2a
;
//
case
SDLK_z
:
return
0x2c
;
case
SDLK_x
:
return
0x2d
;
case
SDLK_c
:
return
0x2e
;
case
SDLK_v
:
return
0x2f
;
case
SDLK_b
:
return
0x30
;
case
SDLK_n
:
return
0x31
;
case
SDLK_m
:
return
0x32
;
case
SDLK_RSHIFT
:
return
0x36
;
case
SDLK_SPACE
:
return
0x39
;
case
SDLK_F1
:
return
0x3b
;
case
SDLK_F2
:
return
0x3c
;
case
SDLK_F3
:
return
0x3d
;
case
SDLK_F4
:
return
0x3e
;
case
SDLK_F5
:
return
0x3f
;
case
SDLK_F6
:
return
0x40
;
case
SDLK_F7
:
return
0x41
;
case
SDLK_F8
:
return
0x42
;
case
SDLK_F9
:
return
0x43
;
case
SDLK_F10
:
return
0x44
;
//
case
SDLK_KP7
:
return
0x47
;
case
SDLK_KP8
:
return
0x48
;
case
SDLK_KP9
:
return
0x49
;
case
SDLK_KP_MINUS
:
return
0x4a
;
case
SDLK_KP4
:
return
0x4b
;
case
SDLK_KP5
:
return
0x4c
;
case
SDLK_KP6
:
return
0x4d
;
case
SDLK_KP_PLUS
:
return
0x4e
;
case
SDLK_KP1
:
return
0x4f
;
case
SDLK_KP2
:
return
0x50
;
case
SDLK_KP3
:
return
0x51
;
case
SDLK_KP0
:
return
0x52
;
case
SDLK_KP_PERIOD
:
return
0x53
;
case
SDLK_KP_ENTER
:
return
0x9c
;
case
SDLK_KP_DIVIDE
:
return
0xB5
;
case
SDLK_KP_MULTIPLY
:
return
0x37
;
case
SDLK_DELETE
:
return
0xd3
;
case
SDLK_RCTRL
:
return
0x9d
;
case
SDLK_LALT
:
return
0x38
;
case
SDLK_RALT
:
return
0xB8
;
/* case SDLK_RMETA: return AK_RAMI;
case SDLK_LMETA: return AK_LAMI;*/
case
SDLK_INSERT
:
return
0xd2
;
case
SDLK_HOME
:
return
0xc7
;
case
SDLK_END
:
return
0xcf
;
case
SDLK_CAPSLOCK
:
return
0x3a
;
case
SDLK_UP
:
return
0xc8
;
case
SDLK_PAGEUP
:
return
0xc9
;
case
SDLK_LEFT
:
return
0xcb
;
case
SDLK_RIGHT
:
return
0xcd
;
case
SDLK_DOWN
:
return
0xd0
;
case
SDLK_PAGEDOWN
:
return
0xd1
;
/* case SDLK_RSUPER: return AK_RAMI;
case SDLK_LSUPER: return AK_LAMI;*/
case
SDLK_PAUSE
:
return
0xc5
;
case
SDLK_SCROLLOCK
:
return
0x46
;
// case SDLK_PRINT: return AKS_SCREENSHOT_FILE;
default:
return
-
1
;
}
}
int
keysym2amiga
(
int
keysym
)
{
int
amiga_keycode
=
kc_decode
(
keysym
);
...
...
src/gfx-svga/svga.c
View file @
268a97f6
...
...
@@ -395,7 +395,7 @@ static int scancode2amiga (int scancode)
return
-
1
;
}
static
void
my_kbd_handler
(
int
scancode
,
int
newstate
)
static
void
my_kbd_handler
x
(
int
scancode
,
int
newstate
)
{
int
akey
=
scancode2amiga
(
scancode
);
...
...
@@ -444,7 +444,7 @@ static int post_enter_graphics (void)
write_log
(
"Are you sure you have a keyboard??
\n
"
);
return
0
;
}
keyboard_seteventhandler
(
my_kbd_handler
);
keyboard_seteventhandler
(
my_kbd_handler
x
);
keyboard_translatekeys
(
DONT_CATCH_CTRLC
);
mouse_setxrange
(
-
1000
,
1000
);
...
...
src/hotkeys.c
View file @
268a97f6
...
...
@@ -42,9 +42,11 @@ int match_hotkey_sequence (int key, int state)
{
struct
uae_hotkeyseq
*
seq
=
hotkey_table
;
int
event
=
0
;
write_log
(
"K:%d, S:%d
\n
"
,
key
,
state
);
if
(
!
seq
)
return
0
;
write_log
(
"------------
\n
"
);
if
(
state
)
{
/* Key down */
...
...
src/include/keyboard.h
View file @
268a97f6
/*
/*
* UAE - The Un*x Amiga Emulator
*
* Amiga keycodes
...
...
src/inputdevice.c
View file @
268a97f6
...
...
@@ -950,7 +950,7 @@ static bool readslot (TCHAR *parm, int num, int joystick, int button, struct uae
return
true
;
}
static
struct
inputevent
*
readevent
(
TCHAR
*
name
,
TCHAR
**
customp
)
static
struct
inputevent
*
readevent
(
const
TCHAR
*
name
,
TCHAR
**
customp
)
{
int
i
=
1
;
while
(
events
[
i
].
name
)
{
...
...
src/keymap/keymap.c
View file @
268a97f6
...
...
@@ -152,134 +152,134 @@ static const int default_keymap[] = {
static
struct
uae_input_device_kbr_default
keytrans
[]
=
{
{
INPUTEVENT_KEY_ESC
,
INPUTEVENT_KEY_ESC
},
{
INPUTEVENT_KEY
_F1
,
INPUTEVENT_KEY_F1
},
{
INPUTEVENT_KEY
_F2
,
INPUTEVENT_KEY_F2
},
{
INPUTEVENT_KEY
_F3
,
INPUTEVENT_KEY_F3
},
{
INPUTEVENT_KEY
_F4
,
INPUTEVENT_KEY_F4
},
{
INPUTEVENT_KEY
_F5
,
INPUTEVENT_KEY_F5
},
{
INPUTEVENT_KEY
_F6
,
INPUTEVENT_KEY_F6
},
{
INPUTEVENT_KEY
_F7
,
INPUTEVENT_KEY_F7
},
{
INPUTEVENT_KEY
_F8
,
INPUTEVENT_KEY_F8
},
{
INPUTEVENT_KEY
_F9
,
INPUTEVENT_KEY_F9
},
{
INPUTEVENT_KEY
_F10
,
INPUTEVENT_KEY_F10
},
{
INPUTEVENT_KEY
_1
,
INPUTEVENT_KEY_1
},
{
INPUTEVENT_KEY
_2
,
INPUTEVENT_KEY_2
},
{
INPUTEVENT_KEY
_3
,
INPUTEVENT_KEY_3
},
{
INPUTEVENT_KEY
_4
,
INPUTEVENT_KEY_4
},
{
INPUTEVENT_KEY
_5
,
INPUTEVENT_KEY_5
},
{
INPUTEVENT_KEY
_6
,
INPUTEVENT_KEY_6
},
{
INPUTEVENT_KEY
_7
,
INPUTEVENT_KEY_7
},
{
INPUTEVENT_KEY
_8
,
INPUTEVENT_KEY_8
},
{
INPUTEVENT_KEY
_9
,
INPUTEVENT_KEY_9
},
{
INPUTEVENT_KEY
_0
,
INPUTEVENT_KEY_0
},
{
INPUTEVENT_KEY
_TAB
,
INPUTEVENT_KEY_TAB
},
{
INPUTEVENT_KEY
_A
,
INPUTEVENT_KEY_A
},
{
INPUTEVENT_KEY
_B
,
INPUTEVENT_KEY_B
},
{
INPUTEVENT_KEY
_C
,
INPUTEVENT_KEY_C
},
{
INPUTEVENT_KEY
_D
,
INPUTEVENT_KEY_D
},
{
INPUTEVENT_KEY
_E
,
INPUTEVENT_KEY_E
},
{
INPUTEVENT_KEY
_F
,
INPUTEVENT_KEY_F
},
{
INPUTEVENT_KEY
_G
,
INPUTEVENT_KEY_G
},
{
INPUTEVENT_KEY
_H
,
INPUTEVENT_KEY_H
},
{
INPUTEVENT_KEY
_I
,
INPUTEVENT_KEY_I
},
{
INPUTEVENT_KEY
_J
,
INPUTEVENT_KEY_J
},
{
INPUTEVENT_KEY
_K
,
INPUTEVENT_KEY_K
},
{
INPUTEVENT_KEY
_L
,
INPUTEVENT_KEY_L
},
{
INPUTEVENT_KEY
_M
,
INPUTEVENT_KEY_M
},
{
INPUTEVENT_KEY
_N
,
INPUTEVENT_KEY_N
},
{
INPUTEVENT_KEY
_O
,
INPUTEVENT_KEY_O
},
{
INPUTEVENT_KEY
_P
,
INPUTEVENT_KEY_P
},
{
INPUTEVENT_KEY
_Q
,
INPUTEVENT_KEY_Q
},
{
INPUTEVENT_KEY
_R
,
INPUTEVENT_KEY_R
},
{
INPUTEVENT_KEY
_S
,
INPUTEVENT_KEY_S
},
{
INPUTEVENT_KEY
_T
,
INPUTEVENT_KEY_T
},
{
INPUTEVENT_KEY
_U
,
INPUTEVENT_KEY_U
},
{
INPUTEVENT_KEY
_W
,
INPUTEVENT_KEY_W
},
{
INPUTEVENT_KEY
_V
,
INPUTEVENT_KEY_V
},
{
INPUTEVENT_KEY
_X
,
INPUTEVENT_KEY_X
},
{
INPUTEVENT_KEY
_Y
,
INPUTEVENT_KEY_Y
},
{
INPUTEVENT_KEY
_Z
,
INPUTEVENT_KEY_Z
},
{
INPUTEVENT_KEY_CAPS_LOCK
,
INPUTEVENT_KEY_CAPS_LOCK
},
{
INPUTEVENT_KEY_NP_
1
,
INPUTEVENT_KEY_NP_1
},
{
INPUTEVENT_KEY_NP_
2
,
INPUTEVENT_KEY_NP_2
},
{
INPUTEVENT_KEY_NP_
3
,
INPUTEVENT_KEY_NP_3
},
{
INPUTEVENT_KEY_NP_
4
,
INPUTEVENT_KEY_NP_4
},
{
INPUTEVENT_KEY_NP_
5
,
INPUTEVENT_KEY_NP_5
},
{
INPUTEVENT_KEY_NP_
6
,
INPUTEVENT_KEY_NP_6
},
{
INPUTEVENT_KEY_NP_
7
,
INPUTEVENT_KEY_NP_7
},
{
INPUTEVENT_KEY_NP_
8
,
INPUTEVENT_KEY_NP_8
},
{
INPUTEVENT_KEY_NP_
9
,
INPUTEVENT_KEY_NP_9
},
{
INPUTEVENT_KEY_NP_
0
,
INPUTEVENT_KEY_NP_0
},
{
INPUTEVENT_KEY_NP_PERIOD
,
INPUTEVENT_KEY_NP_PERIOD
},
{
INPUTEVENT_KEY_NP
_ADD
,
INPUTEVENT_KEY_NP_ADD
},
{
INPUTEVENT_KEY_NP_SUB
,
INPUTEVENT_KEY_NP_SUB
},
{
INPUTEVENT_KEY_NP_MUL
,
INPUTEVENT_KEY_NP_MUL
},
{
INPUTEVENT_KEY_NP_DIV
,
INPUTEVENT_KEY_NP_DIV
},
{
INPUTEVENT_KEY_
ENTER
,
INPUTEVENT_KEY_ENTER
},
{
INPUTEVENT_KEY_SUB
,
INPUTEVENT_KEY_SUB
},
{
INPUTEVENT_KEY
_EQUALS
,
INPUTEVENT_KEY_EQUALS
},
{
INPUTEVENT_KEY_BACKSPACE
,
INPUTEVENT_KEY_BACKSPACE
},
{
INPUTEVENT_KEY
_RETURN
,
INPUTEVENT_KEY_RETURN
},
{
INPUTEVENT_KEY
_SPACE
,
INPUTEVENT_KEY_SPACE
},
{
INPUTEVENT_KEY_SHIFT_LE
FT
,
INPUTEVENT_KEY_SHIFT_LEFT
},
{
INPUTEVENT_KEY_CTR
L
,
INPUTEVENT_KEY_CTRL
},
{
INPUTEVENT_KEY_AMIGA_LEFT
,
INPUTEVENT_KEY_AMIGA_LEFT
},
{
INPUTEVENT_KEY_ALT_RIGHT
,
INPUTEVENT_KEY_ALT_LEFT
},
{
INPUTEVENT_KEY_ALT_RIGHT
,
INPUTEVENT_KEY_ALT_RIGHT
},
{
INPUTEVENT_KEY_AMIGA_RIGHT
,
INPUTEVENT_KEY_AMIGA_RIGHT
},
{
INPUTEVENT_KEY_AMIGA_RIGHT
,
INPUTEVENT_KEY_AMIGA_RIGHT
},
{
INPUTEVENT_KEY_CTRL_RIGHT
,
INPUTEVENT_KEY_CTRL_RIGHT
},
{
INPUTEVENT_KEY_SHIFT_RIGH
T
,
INPUTEVENT_KEY_SHIFT_RIGHT
},
{
INPUTEVENT_KEY_CURSOR
_UP
,
INPUTEVENT_KEY_CURSOR_UP
},
{
INPUTEVENT_KEY_CURSOR
_DOWN
,
INPUTEVENT_KEY_CURSOR_DOWN
},
{
INPUTEVENT_KEY_CURSOR
_LEFT
,
INPUTEVENT_KEY_CURSOR_LEFT
},
{
INPUTEVENT_KEY_CURSOR
_RIGHT
,
INPUTEVENT_KEY_CURSOR_RIGHT
},
{
INPUTEVENT_KEY_AMIGA_LEF
T
,
INPUTEVENT_KEY_AMIGA_LEFT
},
{
INPUTEVENT_KEY_DEL
,
INPUTEVENT_KEY_DEL
},
{
INPUTEVENT_KEY_AMIGA_RIGHT
,
INPUTEVENT_KEY_AMIGA_RIGHT
},
{
INPUTEVENT_KEY_HELP
,
INPUTEVENT_KEY_HELP
},
{
INPUTEVENT_KEY_LEFT
BRACKET
,
INPUTEVENT_KEY_LEFTBRACKET
},
{
INPUTEVENT_KEY_RIGHT
BRACKET
,
INPUTEVENT_KEY_RIGHTBRACKET
},
{
INPUTEVENT_KEY
_SEMICOLON
,
INPUTEVENT_KEY_SEMICOLON
},
{
INPUTEVENT_KEY_SINGLEQUOT
E
,
INPUTEVENT_KEY_SINGLEQUOTE
},
{
INPUTEVENT_KEY_BACKQUOT
E
,
INPUTEVENT_KEY_BACKQUOTE
},
{
INPUTEVENT_KEY
_BACKSLASH
,
INPUTEVENT_KEY_BACKSLASH
},
{
INPUTEVENT_KEY
_COMMA
,
INPUTEVENT_KEY_COMMA
},
{
INPUTEVENT_KEY
_PERIOD
,
INPUTEVENT_KEY_PERIOD
},
{
INPUTEVENT_KEY_DIV
,
INPUTEVENT_KEY_DIV
},
{
INPUTEVENT_KEY_30
,
INPUTEVENT_KEY_30
},
{
INPUTEVENT_SPC_MASTER_VOLUME_
DOWN
,
INPUTEVENT_SPC_MASTER_VOLUME_DOWN
},
{
INPUTEVENT_SPC_MASTER_VOLUME_
UP
,
INPUTEVENT_SPC_MASTER_VOLUME_UP
},
{
INPUTEVENT_SPC_MASTER_VOLUME
_MUTE
,
INPUTEVENT_SPC_MASTER_VOLUME_MUTE
},
{
INPUTEVENT_KEY_70
,
INPUTEVENT_KEY_70
},
{
INPUTEVENT_KEY_71
,
INPUTEVENT_KEY_71
},
// {
INPUTEVENT_KEY
_SYSRQ, INPUTEVENT_KEY_6E },
// {
INPUTEVENT_KEY
_F12, INPUTEVENT_KEY_6F },
{
INPUTEVENT_KEY_47
,
INPUTEVENT_KEY_47
},
// {
INPUTEVENT_KEY
_PRIOR, INPUTEVENT_KEY_48 },
{
INPUTEVENT_SPC_FREEZEBUTTON
,
INPUTEVENT_SPC_FREEZEBUTTON
},
{
INPUTEVENT_KEY_49
,
INPUTEVENT_KEY_49
},
{
INPUTEVENT_KEY_4B
,
INPUTEVENT_KEY_4B
},
{
INPUTEVENT_KEY_CDTV_
STOP
,
INPUTEVENT_KEY_CDTV_STOP
},
{
INPUTEVENT_KEY_CDTV
_PLAYPAUSE
,
INPUTEVENT_KEY_CDTV_PLAYPAUSE
},
{
INPUTEVENT_KEY_CDTV_PREV
,
INPUTEVENT_KEY_CDTV_PREV
},
{
INPUTEVENT_KEY_CDTV_NEXT
,
INPUTEVENT_KEY_CDTV_NEXT
},
{
DIK_ESCAPE
,
INPUTEVENT_KEY_ESC
},
{
DIK
_F1
,
INPUTEVENT_KEY_F1
},
{
DIK
_F2
,
INPUTEVENT_KEY_F2
},
{
DIK
_F3
,
INPUTEVENT_KEY_F3
},
{
DIK
_F4
,
INPUTEVENT_KEY_F4
},
{
DIK
_F5
,
INPUTEVENT_KEY_F5
},
{
DIK
_F6
,
INPUTEVENT_KEY_F6
},
{
DIK
_F7
,
INPUTEVENT_KEY_F7
},
{
DIK
_F8
,
INPUTEVENT_KEY_F8
},
{
DIK
_F9
,
INPUTEVENT_KEY_F9
},
{
DIK
_F10
,
INPUTEVENT_KEY_F10
},
{
DIK
_1
,
INPUTEVENT_KEY_1
},
{
DIK
_2
,
INPUTEVENT_KEY_2
},
{
DIK
_3
,
INPUTEVENT_KEY_3
},
{
DIK
_4
,
INPUTEVENT_KEY_4
},
{
DIK
_5
,
INPUTEVENT_KEY_5
},
{
DIK
_6
,
INPUTEVENT_KEY_6
},
{
DIK
_7
,
INPUTEVENT_KEY_7
},
{
DIK
_8
,
INPUTEVENT_KEY_8
},
{
DIK
_9
,
INPUTEVENT_KEY_9
},
{
DIK
_0
,
INPUTEVENT_KEY_0
},
{
DIK
_TAB
,
INPUTEVENT_KEY_TAB
},
{
DIK
_A
,
INPUTEVENT_KEY_A
},
{
DIK
_B
,
INPUTEVENT_KEY_B
},
{
DIK
_C
,
INPUTEVENT_KEY_C
},
{
DIK
_D
,
INPUTEVENT_KEY_D
},
{
DIK
_E
,
INPUTEVENT_KEY_E
},
{
DIK
_F
,
INPUTEVENT_KEY_F
},
{
DIK
_G
,
INPUTEVENT_KEY_G
},
{
DIK
_H
,
INPUTEVENT_KEY_H
},
{
DIK
_I
,
INPUTEVENT_KEY_I
},
{
DIK
_J
,
INPUTEVENT_KEY_J
},
{
DIK
_K
,
INPUTEVENT_KEY_K
},
{
DIK
_L
,
INPUTEVENT_KEY_L
},
{
DIK
_M
,
INPUTEVENT_KEY_M
},
{
DIK
_N
,
INPUTEVENT_KEY_N
},
{
DIK
_O
,
INPUTEVENT_KEY_O
},
{
DIK
_P
,
INPUTEVENT_KEY_P
},
{
DIK
_Q
,
INPUTEVENT_KEY_Q
},
{
DIK
_R
,
INPUTEVENT_KEY_R
},
{
DIK
_S
,
INPUTEVENT_KEY_S
},
{
DIK
_T
,
INPUTEVENT_KEY_T
},
{
DIK
_U
,
INPUTEVENT_KEY_U
},
{
DIK
_W
,
INPUTEVENT_KEY_W
},
{
DIK
_V
,
INPUTEVENT_KEY_V
},
{
DIK
_X
,
INPUTEVENT_KEY_X
},
{
DIK
_Y
,
INPUTEVENT_KEY_Y
},
{
DIK
_Z
,
INPUTEVENT_KEY_Z
},
{
DIK_CAPITAL
,
INPUTEVENT_KEY_CAPS_LOCK
,
ID_FLAG_TOGGLE
},
{
DIK_NUMPAD
1
,
INPUTEVENT_KEY_NP_1
},
{
DIK_NUMPAD
2
,
INPUTEVENT_KEY_NP_2
},
{
DIK_NUMPAD
3
,
INPUTEVENT_KEY_NP_3
},
{
DIK_NUMPAD
4
,
INPUTEVENT_KEY_NP_4
},
{
DIK_NUMPAD
5
,
INPUTEVENT_KEY_NP_5
},
{
DIK_NUMPAD
6
,
INPUTEVENT_KEY_NP_6
},
{
DIK_NUMPAD
7
,
INPUTEVENT_KEY_NP_7
},
{
DIK_NUMPAD
8
,
INPUTEVENT_KEY_NP_8
},
{
DIK_NUMPAD
9
,
INPUTEVENT_KEY_NP_9
},
{
DIK_NUMPAD
0
,
INPUTEVENT_KEY_NP_0
},
{
DIK_DECIMAL
,
INPUTEVENT_KEY_NP_PERIOD
},
{
DIK
_ADD
,
INPUTEVENT_KEY_NP_ADD
},
{
DIK_SUBTRACT
,
INPUTEVENT_KEY_NP_SUB
},
{
DIK_MULTIPLY
,
INPUTEVENT_KEY_NP_MUL
},
{
DIK_DIVIDE
,
INPUTEVENT_KEY_NP_DIV
},
{
DIK_NUMPAD
ENTER
,
INPUTEVENT_KEY_ENTER
},
{
DIK_MINUS
,
INPUTEVENT_KEY_SUB
},
{
DIK
_EQUALS
,
INPUTEVENT_KEY_EQUALS
},
{
DIK_BACK
,
INPUTEVENT_KEY_BACKSPACE
},
{
DIK
_RETURN
,
INPUTEVENT_KEY_RETURN
},
{
DIK
_SPACE
,
INPUTEVENT_KEY_SPACE
},
{
DIK_LSHI
FT
,
INPUTEVENT_KEY_SHIFT_LEFT
},
{
DIK_LCONTRO
L
,
INPUTEVENT_KEY_CTRL
},
{
DIK_LWIN
,
INPUTEVENT_KEY_AMIGA_LEFT
},
{
DIK_LMENU
,
INPUTEVENT_KEY_ALT_LEFT
},
{
DIK_RMENU
,
INPUTEVENT_KEY_ALT_RIGHT
},
{
DIK_RWIN
,
INPUTEVENT_KEY_AMIGA_RIGHT
},
{
DIK_APPS
,
INPUTEVENT_KEY_AMIGA_RIGHT
},
{
DIK_RCONTROL
,
INPUTEVENT_KEY_CTRL_RIGHT
},
{
DIK_RSHIF
T
,
INPUTEVENT_KEY_SHIFT_RIGHT
},
{
DIK
_UP
,
INPUTEVENT_KEY_CURSOR_UP
},
{
DIK
_DOWN
,
INPUTEVENT_KEY_CURSOR_DOWN
},
{
DIK
_LEFT
,
INPUTEVENT_KEY_CURSOR_LEFT
},
{
DIK
_RIGHT
,
INPUTEVENT_KEY_CURSOR_RIGHT
},
{
DIK_INSER
T
,
INPUTEVENT_KEY_AMIGA_LEFT
},
{
DIK_DELETE
,
INPUTEVENT_KEY_DEL
},
{
DIK_HOME
,
INPUTEVENT_KEY_AMIGA_RIGHT
},
{
DIK_NEXT
,
INPUTEVENT_KEY_HELP
},
{
DIK_L
BRACKET
,
INPUTEVENT_KEY_LEFTBRACKET
},
{
DIK_R
BRACKET
,
INPUTEVENT_KEY_RIGHTBRACKET
},
{
DIK
_SEMICOLON
,
INPUTEVENT_KEY_SEMICOLON
},
{
DIK_APOSTROPH
E
,
INPUTEVENT_KEY_SINGLEQUOTE
},
{
DIK_GRAV
E
,
INPUTEVENT_KEY_BACKQUOTE
},
{
DIK
_BACKSLASH
,
INPUTEVENT_KEY_BACKSLASH
},
{
DIK
_COMMA
,
INPUTEVENT_KEY_COMMA
},
{
DIK
_PERIOD
,
INPUTEVENT_KEY_PERIOD
},
{
DIK_SLASH
,
INPUTEVENT_KEY_DIV
},
{
DIK_OEM_102
,
INPUTEVENT_KEY_30
},
{
DIK_VOLUME
DOWN
,
INPUTEVENT_SPC_MASTER_VOLUME_DOWN
},
{
DIK_VOLUME
UP
,
INPUTEVENT_SPC_MASTER_VOLUME_UP
},
{
DIK
_MUTE
,
INPUTEVENT_SPC_MASTER_VOLUME_MUTE
},
{
DIK_HOME
,
INPUTEVENT_KEY_70
},
{
DIK_END
,
INPUTEVENT_KEY_71
},
// {
DIK
_SYSRQ, INPUTEVENT_KEY_6E },
// {
DIK
_F12, INPUTEVENT_KEY_6F },
{
DIK_INSERT
,
INPUTEVENT_KEY_47
},
// {
DIK
_PRIOR, INPUTEVENT_KEY_48 },
{
DIK_PRIOR
,
INPUTEVENT_SPC_FREEZEBUTTON
},
{
DIK_NEXT
,
INPUTEVENT_KEY_49
},
{
DIK_F11
,
INPUTEVENT_KEY_4B
},
{
DIK_MEDIA
STOP
,
INPUTEVENT_KEY_CDTV_STOP
},
{
DIK
_PLAYPAUSE
,
INPUTEVENT_KEY_CDTV_PLAYPAUSE
},
{
DIK_PREVTRACK
,
INPUTEVENT_KEY_CDTV_PREV
},
{
DIK_NEXTTRACK
,
INPUTEVENT_KEY_CDTV_NEXT
},
{
-
1
,
0
}
};
...
...
src/keymap/keymap.h
View file @
268a97f6
...
...
@@ -162,6 +162,170 @@ struct uaekey_hostmap
short
uaekey
;
};
#define DIK_ESCAPE 0x01
#define DIK_1 0x02
#define DIK_2 0x03
#define DIK_3 0x04
#define DIK_4 0x05
#define DIK_5 0x06
#define DIK_6 0x07
#define DIK_7 0x08
#define DIK_8 0x09
#define DIK_9 0x0A
#define DIK_0 0x0B
#define DIK_MINUS 0x0C
/* - on main keyboard */
#define DIK_EQUALS 0x0D
#define DIK_BACK 0x0E
/* backspace */
#define DIK_TAB 0x0F
#define DIK_Q 0x10
#define DIK_W 0x11
#define DIK_E 0x12
#define DIK_R 0x13
#define DIK_T 0x14
#define DIK_Y 0x15
#define DIK_U 0x16
#define DIK_I 0x17
#define DIK_O 0x18
#define DIK_P 0x19
#define DIK_LBRACKET 0x1A
#define DIK_RBRACKET 0x1B
#define DIK_RETURN 0x1C
/* Enter on main keyboard */
#define DIK_LCONTROL 0x1D
#define DIK_A 0x1E
#define DIK_S 0x1F
#define DIK_D 0x20
#define DIK_F 0x21
#define DIK_G 0x22
#define DIK_H 0x23
#define DIK_J 0x24
#define DIK_K 0x25
#define DIK_L 0x26
#define DIK_SEMICOLON 0x27
#define DIK_APOSTROPHE 0x28
#define DIK_GRAVE 0x29
/* accent grave */
#define DIK_LSHIFT 0x2A
#define DIK_BACKSLASH 0x2B
#define DIK_Z 0x2C
#define DIK_X 0x2D
#define DIK_C 0x2E
#define DIK_V 0x2F
#define DIK_B 0x30
#define DIK_N 0x31
#define DIK_M 0x32
#define DIK_COMMA 0x33
#define DIK_PERIOD 0x34
/* . on main keyboard */
#define DIK_SLASH 0x35
/* / on main keyboard */
#define DIK_RSHIFT 0x36
#define DIK_MULTIPLY 0x37
/* * on numeric keypad */
#define DIK_LMENU 0x38
/* left Alt */
#define DIK_SPACE 0x39
#define DIK_CAPITAL 0x3A
#define DIK_F1 0x3B
#define DIK_F2 0x3C
#define DIK_F3 0x3D
#define DIK_F4 0x3E
#define DIK_F5 0x3F
#define DIK_F6 0x40
#define DIK_F7 0x41
#define DIK_F8 0x42
#define DIK_F9 0x43
#define DIK_F10 0x44
#define DIK_NUMLOCK 0x45
#define DIK_SCROLL 0x46
/* Scroll Lock */
#define DIK_NUMPAD7 0x47
#define DIK_NUMPAD8 0x48
#define DIK_NUMPAD9 0x49
#define DIK_SUBTRACT 0x4A
/* - on numeric keypad */
#define DIK_NUMPAD4 0x4B
#define DIK_NUMPAD5 0x4C
#define DIK_NUMPAD6 0x4D
#define DIK_ADD 0x4E
/* + on numeric keypad */
#define DIK_NUMPAD1 0x4F
#define DIK_NUMPAD2 0x50
#define DIK_NUMPAD3 0x51
#define DIK_NUMPAD0 0x52
#define DIK_DECIMAL 0x53
/* . on numeric keypad */
#define DIK_OEM_102 0x56
/* < > | on UK/Germany keyboards */
#define DIK_F11 0x57
#define DIK_F12 0x58
#define DIK_F13 0x64
/* (NEC PC98) */
#define DIK_F14 0x65
/* (NEC PC98) */
#define DIK_F15 0x66
/* (NEC PC98) */
#define DIK_KANA 0x70
/* (Japanese keyboard) */
#define DIK_ABNT_C1 0x73
/* / ? on Portugese (Brazilian) keyboards */
#define DIK_CONVERT 0x79
/* (Japanese keyboard) */
#define DIK_NOCONVERT 0x7B
/* (Japanese keyboard) */
#define DIK_YEN 0x7D
/* (Japanese keyboard) */
#define DIK_ABNT_C2 0x7E
/* Numpad . on Portugese (Brazilian) keyboards */
#define DIK_NUMPADEQUALS 0x8D
/* = on numeric keypad (NEC PC98) */
#define DIK_PREVTRACK 0x90
/* Previous Track (#define DIK_CIRCUMFLEX on Japanese keyboard) */
#define DIK_AT 0x91
/* (NEC PC98) */
#define DIK_COLON 0x92
/* (NEC PC98) */
#define DIK_UNDERLINE 0x93
/* (NEC PC98) */
#define DIK_KANJI 0x94
/* (Japanese keyboard) */
#define DIK_STOP 0x95
/* (NEC PC98) */
#define DIK_AX 0x96
/* (Japan AX) */
#define DIK_UNLABELED 0x97
/* (J3100) */
#define DIK_NEXTTRACK 0x99
/* Next Track */
#define DIK_NUMPADENTER 0x9C
/* Enter on numeric keypad */
#define DIK_RCONTROL 0x9D
#define DIK_MUTE 0xA0
/* Mute */
#define DIK_CALCULATOR 0xA1
/* Calculator */
#define DIK_PLAYPAUSE 0xA2
/* Play / Pause */
#define DIK_MEDIASTOP 0xA4
/* Media Stop */
#define DIK_VOLUMEDOWN 0xAE
/* Volume - */
#define DIK_VOLUMEUP 0xB0
/* Volume + */
#define DIK_WEBHOME 0xB2
/* Web home */
#define DIK_NUMPADCOMMA 0xB3
/* , on numeric keypad (NEC PC98) */
#define DIK_DIVIDE 0xB5
/* / on numeric keypad */
#define DIK_SYSRQ 0xB7
#define DIK_RMENU 0xB8
/* right Alt */
#define DIK_PAUSE 0xC5
/* Pause */
#define DIK_HOME 0xC7
/* Home on arrow keypad */
#define DIK_UP 0xC8
/* UpArrow on arrow keypad */
#define DIK_PRIOR 0xC9
/* PgUp on arrow keypad */
#define DIK_LEFT 0xCB
/* LeftArrow on arrow keypad */
#define DIK_RIGHT 0xCD
/* RightArrow on arrow keypad */
#define DIK_END 0xCF
/* End on arrow keypad */
#define DIK_DOWN 0xD0
/* DownArrow on arrow keypad */
#define DIK_NEXT 0xD1
/* PgDn on arrow keypad */
#define DIK_INSERT 0xD2
/* Insert on arrow keypad */
#define DIK_DELETE 0xD3
/* Delete on arrow keypad */
#define DIK_LWIN 0xDB
/* Left Windows key */
#define DIK_RWIN 0xDC
/* Right Windows key */
#define DIK_APPS 0xDD
/* AppMenu key */
#define DIK_POWER 0xDE
/* System Power */
#define DIK_SLEEP 0xDF
/* System Sleep */
#define DIK_WAKE 0xE3
/* System Wake */
#define DIK_WEBSEARCH 0xE5
/* Web Search */
#define DIK_WEBFAVORITES 0xE6
/* Web Favorites */
#define DIK_WEBREFRESH 0xE7
/* Web Refresh */
#define DIK_WEBSTOP 0xE8
/* Web Stop */
#define DIK_WEBFORWARD 0xE9
/* Web Forward */
#define DIK_WEBBACK 0xEA
/* Web Back */
#define DIK_MYCOMPUTER 0xEB
/* My Computer */
#define DIK_MAIL 0xEC
/* Mail */
#define DIK_MEDIASELECT 0xED
/* Media Select */
/* Alternate names for keys, to facilitate transition from DOS. */
#define DIK_BACKSPACE DIK_BACK
/* backspace */
#define DIK_NUMPADSTAR DIK_MULTIPLY
/* * on numeric keypad */
#define DIK_LALT DIK_LMENU
/* left Alt */
#define DIK_CAPSLOCK DIK_CAPITAL
/* CapsLock */
#define DIK_NUMPADMINUS DIK_SUBTRACT
/* - on numeric keypad */
#define DIK_NUMPADPLUS DIK_ADD
/* + on numeric keypad */
#define DIK_NUMPADPERIOD DIK_DECIMAL
/* . on numeric keypad */
#define DIK_NUMPADSLASH DIK_DIVIDE
/* / on numeric keypad */
#define DIK_RALT DIK_RMENU
/* right Alt */
#define DIK_UPARROW DIK_UP
/* UpArrow on arrow keypad */
#define DIK_PGUP DIK_PRIOR
/* PgUp on arrow keypad */
#define DIK_LEFTARROW DIK_LEFT
/* LeftArrow on arrow keypad */
#define DIK_RIGHTARROW DIK_RIGHT
/* RightArrow on arrow keypad */
#define DIK_DOWNARROW DIK_DOWN
/* DownArrow on arrow keypad */
#define DIK_PGDN DIK_NEXT
/* PgDn on arrow keypad */
/* Alternate names for keys originally not used on US keyboards. */
#define DIK_CIRCUMFLEX DIK_PREVTRACK
/* Japanese keyboard */
struct
uae_input_device_kbr_default
*
uaekey_make_default_kbr
(
const
struct
uaekey_hostmap
*
hostkeys
);
src/misc.c
View file @
268a97f6
...
...
@@ -20,6 +20,8 @@
#include "picasso96.h"
#include "driveclick.h"
#include "inputdevice.h"
#include "keymap/keymap.h"
#include "keyboard.h"
#include <stdarg.h>
#define TRUE 1
...
...
@@ -855,11 +857,6 @@ char *ua (const TCHAR *s)
return
s
;
}
// keyboard.c
void
clearallkeys
(
void
)
{
inputdevice_updateconfig
(
&
currprefs
);
}
// fsdb_mywin32.c
FILE
*
my_opentext
(
const
TCHAR
*
name
)
{
...
...
@@ -881,3 +878,274 @@ FILE *my_opentext (const TCHAR *name)
return
_tfopen
(
name
,
"r"
);
}
// keyboard_win32
//extern int ispressed (int key);
#define MAX_KEYCODES 256
static
uae_u8
di_keycodes
[
MAX_INPUT_DEVICES
][
MAX_KEYCODES
];
int
ispressed
(
int
key
)
{
int
i
;
for
(
i
=
0
;
i
<
MAX_INPUT_DEVICES
;
i
++
)
{
if
(
di_keycodes
[
i
][
key
])
return
1
;
}
return
0
;
}
static
int
specialkeycode
(
void
)
{
return
0
;
//currprefs.win32_specialkey;
}
static
int
specialpressed
(
void
)
{
return
ispressed
(
specialkeycode
());
}
static
int
shiftpressed
(
void
)
{
return
ispressed
(
DIK_LSHIFT
)
||
ispressed
(
DIK_RSHIFT
);
}
static
int
altpressed
(
void
)
{
return
ispressed
(
DIK_LMENU
)
||
ispressed
(
DIK_RMENU
);
}
static
int
ctrlpressed
(
void
)
{
return
ispressed
(
DIK_LCONTROL
)
||
ispressed
(
DIK_RCONTROL
);
}
static
int
capslockstate
;
static
int
host_capslockstate
,
host_numlockstate
,
host_scrolllockstate
;
int
getcapslock
(
void
)
{
int
capstable
[
7
];
// this returns bogus state if caps change when in exclusive mode..
/* host_capslockstate = GetKeyState (VK_CAPITAL) & 1;
host_numlockstate = GetKeyState (VK_NUMLOCK) & 1;
host_scrolllockstate = GetKeyState (VK_SCROLL) & 1;*/
capstable
[
0
]
=
DIK_CAPITAL
;
capstable
[
1
]
=
host_capslockstate
;
capstable
[
2
]
=
DIK_NUMLOCK
;
capstable
[
3
]
=
host_numlockstate
;
capstable
[
4
]
=
DIK_SCROLL
;
capstable
[
5
]
=
host_scrolllockstate
;
capstable
[
6
]
=
0
;
capslockstate
=
inputdevice_synccapslock
(
capslockstate
,
capstable
);
return
capslockstate
;
}
void
clearallkeys
(
void
)
{
inputdevice_updateconfig
(
&
currprefs
);
}
static
int
np
[]
=
{
DIK_NUMPAD0
,
0
,
DIK_NUMPADPERIOD
,
0
,
DIK_NUMPAD1
,
1
,
DIK_NUMPAD2
,
2
,
DIK_NUMPAD3
,
3
,
DIK_NUMPAD4
,
4
,
DIK_NUMPAD5
,
5
,
DIK_NUMPAD6
,
6
,
DIK_NUMPAD7
,
7
,
DIK_NUMPAD8
,
8
,
DIK_NUMPAD9
,
9
,
-
1
};
void
my_kbd_handler
(
int
keyboard
,
int
scancode
,
int
newstate
)
{
int
code
=
0
;
int
scancode_new
;
static
int
swapperdrive
=
0
;
if
(
scancode
==
specialkeycode
())
return
;
/* if (scancode == DIK_F11 && currprefs.win32_ctrl_F11_is_quit && ctrlpressed ())
code = AKS_QUIT;*/
scancode_new
=
scancode
;
/* if (!specialpressed () && inputdevice_iskeymapped (keyboard, scancode))
scancode = 0;*/
// GUI must be always available
/* if (scancode_new == DIK_F12 && currprefs.win32_guikey < 0)
scancode = scancode_new;
if (scancode_new == currprefs.win32_guikey && scancode_new != DIK_F12)
scancode = scancode_new;*/
write_log
(
"kbd = %d, scancode = %d, state = %d
\n
"
,
keyboard
,
scancode
,
newstate
);
if
(
newstate
==
0
&&
code
==
0
)
{
switch
(
scancode
)
{
case
DIK_SYSRQ
:
screenshot
(
specialpressed
()
?
1
:
0
,
1
);
break
;
}
}
if
(
newstate
&&
code
==
0
)
{
if
(
scancode
==
DIK_F12
/*|| scancode == currprefs.win32_guikey*/
)
{
if
(
ctrlpressed
())
{
code
=
AKS_TOGGLEDEFAULTSCREEN
;
}
else
if
(
shiftpressed
()
||
specialpressed
())
{
if
(
isfullscreen
()
<=
0
)
{
//disablecapture ();
code
=
AKS_ENTERDEBUGGER
;
}
}
else
{
code
=
AKS_ENTERGUI
;
}
}
switch
(
scancode
)
{
case
DIK_F1
:
case
DIK_F2
:
case
DIK_F3
:
case
DIK_F4
:
if
(
specialpressed
())
{
if
(
ctrlpressed
())
{
}
else
{
if
(
shiftpressed
())
code
=
AKS_EFLOPPY0
+
(
scancode
-
DIK_F1
);
else
code
=
AKS_FLOPPY0
+
(
scancode
-
DIK_F1
);
}
}
break
;
case
DIK_F5
:
if
(
specialpressed
())
{
if
(
shiftpressed
())
code
=
AKS_STATESAVEDIALOG
;
else
code
=
AKS_STATERESTOREDIALOG
;
}
break
;
case
DIK_1
:
case
DIK_2
:
case
DIK_3
:
case
DIK_4
:
case
DIK_5
:
case
DIK_6
:
case
DIK_7
:
case
DIK_8
:
case
DIK_9
:
case
DIK_0
:
if
(
specialpressed
())
{
int
num
=
scancode
-
DIK_1
;
if
(
shiftpressed
())
num
+=
10
;
if
(
ctrlpressed
())
{
swapperdrive
=
num
;
if
(
swapperdrive
>
3
)
swapperdrive
=
0
;
}
else
{
int
i
;
for
(
i
=
0
;
i
<
4
;
i
++
)
{
if
(
!
_tcscmp
(
currprefs
.
floppyslots
[
i
].
df
,
currprefs
.
dfxlist
[
num
]))
changed_prefs
.
floppyslots
[
i
].
df
[
0
]
=
0
;
}
_tcscpy
(
changed_prefs
.
floppyslots
[
swapperdrive
].
df
,
currprefs
.
dfxlist
[
num
]);
config_changed
=
1
;
}
}
break
;
case
DIK_NUMPAD0
:
case
DIK_NUMPAD1
:
case
DIK_NUMPAD2
:
case
DIK_NUMPAD3
:
case
DIK_NUMPAD4
:
case
DIK_NUMPAD5
:
case
DIK_NUMPAD6
:
case
DIK_NUMPAD7
:
case
DIK_NUMPAD8
:
case
DIK_NUMPAD9
:
case
DIK_NUMPADPERIOD
:
if
(
specialpressed
())
{
int
i
=
0
,
v
=
-
1
;
while
(
np
[
i
]
>=
0
)
{
v
=
np
[
i
+
1
];
if
(
np
[
i
]
==
scancode
)
break
;
i
+=
2
;
}
if
(
v
>=
0
)
code
=
AKS_STATESAVEQUICK
+
v
*
2
+
((
shiftpressed
()
||
ctrlpressed
())
?
0
:
1
);
}
break
;
case
DIK_PAUSE
:
if
(
specialpressed
())
{
if
(
shiftpressed
())
code
=
AKS_IRQ7
;
else
code
=
AKS_WARP
;
}
else
{
code
=
AKS_PAUSE
;
}
break
;
case
DIK_SCROLL
:
code
=
AKS_INHIBITSCREEN
;
break
;
case
DIK_NUMPADMINUS
:
if
(
specialpressed
())
{
if
(
shiftpressed
())
code
=
AKS_DECREASEREFRESHRATE
;
else
if
(
ctrlpressed
())
code
=
AKS_MVOLDOWN
;
else
code
=
AKS_VOLDOWN
;
}
break
;
case
DIK_NUMPADPLUS
:
if
(
specialpressed
())
{
if
(
shiftpressed
())
code
=
AKS_INCREASEREFRESHRATE
;
else
if
(
ctrlpressed
())
code
=
AKS_MVOLUP
;
else
code
=
AKS_VOLUP
;
}
break
;
case
DIK_NUMPADSTAR
:
if
(
specialpressed
())
{
if
(
ctrlpressed
())
code
=
AKS_MVOLMUTE
;
else
code
=
AKS_VOLMUTE
;
}
break
;
case
DIK_NUMPADSLASH
:
if
(
specialpressed
())
code
=
AKS_STATEREWIND
;
break
;
}
}
if
(
code
)
{
inputdevice_add_inputcode
(
code
,
1
);
return
;
}
scancode
=
scancode_new
;
/* if (!specialpressed () && newstate) {
if (scancode == DIK_CAPITAL) {
host_capslockstate = host_capslockstate ? 0 : 1;
capslockstate = host_capslockstate;
}
if (scancode == DIK_NUMLOCK) {
host_numlockstate = host_numlockstate ? 0 : 1;
capslockstate = host_numlockstate;
}
if (scancode == DIK_SCROLL) {
host_scrolllockstate = host_scrolllockstate ? 0 : 1;
capslockstate = host_scrolllockstate;
}
}*/
if
(
specialpressed
())
return
;
write_log
(
"kbd = %d, scancode = %d, state = %d
\n
"
,
keyboard
,
scancode
,
newstate
);
inputdevice_translatekeycode
(
keyboard
,
scancode
,
newstate
);
}
src/tools/config.log
View file @
268a97f6
...
...
@@ -445,7 +445,7 @@ configure:4344: $? = 0
configure:4344: result: yes
configure:4350: checking for _doprnt
configure:4350: gcc -o conftest -g -O2 -Wall -W -Wno-unused conftest.c >&5
/tmp/cc
VvVY5
L.o: In function `main':
/tmp/cc
AAwvo
L.o: In function `main':
/home/gnostic/puaex/src/tools/conftest.c:67: undefined reference to `_doprnt'
collect2: ld returned 1 exit status
configure:4350: $? = 1
...
...
@@ -533,7 +533,7 @@ configure:4364: $? = 0
configure:4364: result: yes
configure:4364: checking for strcmpi
configure:4364: gcc -o conftest -g -O2 -Wall -W -Wno-unused conftest.c >&5
/tmp/cc
RMTkaP
.o: In function `main':
/tmp/cc
IwYmH0
.o: In function `main':
/home/gnostic/puaex/src/tools/conftest.c:69: undefined reference to `strcmpi'
collect2: ld returned 1 exit status
configure:4364: $? = 1
...
...
@@ -613,7 +613,7 @@ configure: failed program was:
configure:4364: result: no
configure:4364: checking for stricmp
configure:4364: gcc -o conftest -g -O2 -Wall -W -Wno-unused conftest.c >&5
/tmp/cc
dxf26
T.o: In function `main':
/tmp/cc
XSlxn
T.o: In function `main':
/home/gnostic/puaex/src/tools/conftest.c:69: undefined reference to `stricmp'
collect2: ld returned 1 exit status
configure:4364: $? = 1
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment