robercano / demul

Automatically exported from code.google.com/p/demul
0 stars 0 forks source link

Emulation of Dreamcast keyboard is incomplete. #170

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
demul keyboard has two problems.

1. Pressing multiple keys is not recognized correctly. (NullDC keyboard is 
better.)

What steps will reproduce the problem?
For example, word is "UTOSI".
1.press the first character. U key.
2.while keep holding it, press T key.
3.Typo occurs.

What is the expected output? What do you see instead?
Accepting more simultaneous keyboard inputs

What version of the product are you using? On what operating system?
Demul v0.582
Win7 x64

2. The key mapping is incorrect for Japanese keyboard layout.
http://dreamcasttoday.files.wordpress.com/2013/04/9ler-640.jpg

What steps will reproduce the problem?
1.demul keyboard Type the M When I type a comma.
2.Keyboard layout is different.

What is the expected output? What do you see instead?
Compatible with Japanese keyboard layout. Or I need key config of demul 
keyboard.

Please provide any additional information below.
I don't know how to fix demul because I'm not good at programming.
However I modified NullDC source code (for JP keyboard)

//Keycode Key 
//00-03 Not used
//04-1D Letter keys A-Z (in alphabetic order) 
for (int i=0x4;i<=0x1D;i  )  kb_map['A' i-4]=i;
//1E-27 Number keys 1-0 
for (int i=0x1E;i<=0x27;i  ) kb_map['1' i-0x1E]=i;
kb_map['0']=0x27;
//28 Enter 
sk(28,VK_RETURN);
//29 Esc 
sk(29,VK_ESCAPE);
//2A Backspace 
sk(2A,VK_BACK);
//2B Tab 
sk(2B,VK_TAB);
//2C Space 
sk(2C,VK_SPACE);
//2D-2E "-" and "^"
sk(2D,VK_OEM_MINUS);
sk(2E,VK_OEM_7);
//2F-30 "@" and "["
sk(2F,VK_OEM_3);
sk(30,VK_OEM_4);
//31 Not used
//32-34 "]", ";" and ":"
sk(32,VK_OEM_6);
sk(33,VK_OEM_PLUS);
sk(34,VK_OEM_1);
//35 Han/Zen
//36-38 ",", "." and "/"
sk(36,VK_OEM_COMMA);
sk(37,VK_OEM_PERIOD);
sk(38,VK_OEM_2);
//39 Caps Lock
//3A-45 Function keys F1-F12 
for (int i=0;i<12;i  ) kb_map[VK_F1 i]=0x3A i;
//46 Prt Scrn
sk(46,VK_SNAPSHOT);
//47 Scr Lock
sk(47,VK_SCROLL);
//48 Pause
sk(48,VK_PAUSE);
//49 Insert
sk(49,VK_INSERT);
//4A Home
sk(4A,VK_HOME);
//4B Page Up
sk(4B,VK_PRIOR);
//4C Delete
sk(4C,VK_DELETE);
//4D End
sk(4D,VK_END);
//4D Page Down
sk(4E,VK_NEXT);
//4F-52 Cursors
sk(4F,VK_RIGHT);
sk(50,VK_LEFT);
sk(51,VK_DOWN);
sk(52,VK_UP);
//53-64 Not used 
//65 S3 key
//66-86 Not used 
//87 "_" (Underline?)
sk(87,VK_OEM_102);
//88 Kata/Hira
//89 "\" (YEN)
sk(89,VK_OEM_5);
//8A Henkan
//8B Muhenkan
//8C-FF Not used

Original issue reported on code.google.com by sansy...@gmail.com on 18 Dec 2013 at 12:52

GoogleCodeExporter commented 9 years ago

Original comment by cah4e3 on 2 Jul 2014 at 6:08