Well then, what method do you recomend ?
I don't know but I see only that when we press these key on a French Sanyo PHC-28L and a Canon V-20, we get the same result, however these are not the same matrices. (The characters of the first two rows are reversed by pressing SHIFT or not.)
https://www.msx.org/wiki/Keyboard_Matrices
Some Japanese MSXs give the same result, although they do not have the same matrices.
With this, the OpenMSX team could already emulate the HB-F700S? Thus the XML would be available to use the machine with the emulator.
I'll be adding it soon. I haven't had much time lately.
Hi gdx, I executed KEYMATR.BAS and posted the result of pressing SHIFT+GRAPH+0 and the Key "1" in the numeric keyboard. If you need something else let me know
This only tests whether there are diodes in the keyboard hardware to prevent some key ghosting and to confirm that the numeric keypad is not mapped to the normal keyboard, but has its own place in the matrix.
With this, the OpenMSX team could already emulate the HB-F700S? Thus the XML would be available to use the machine with the emulator.
I'll be adding it soon. I haven't had much time lately.
Oh, looks like I already added it 5 days ago: https://github.com/openMSX/openMSX/commit/2c4961a659aae6d9cc...
About the keymatrix.... it is mostly inside the ROM, I guess. I made a script for openMSX that tries all possible keymatrix inputs and tries to find out which character that produces. It's a grave hack, but maybe it's useful for you... don't forget to edit the file to set the output filepath/name.
set outfile "/tmp/keymatrixmapping.int" type SCREEN0\rWIDTH40\r\key1,""\rkey2,""\rkey3,""\rkey4,""\rkey5,""\rkey6,""\rkey7,""\rkey8,""\rkey9,""\rkey10,""\r\U000c set matrixdata [] set modifiers [ [list 0 ""] [ 1 "SHIFT"] [ 4 "GRAPH"] [ 5 "SHIFT GRAPH"] [ 16 "CODE"] [ 17 "SHIFT CODE"]] for {set row 0} {$row < 6} {incr row} { for {set col 0} {$col < 8} {incr col} { lappend matrixdata [ $row $col] } } lappend matrixdata [ 8 0] set matindex 0 set modifier_index 0 set results [] proc print_results {} { global results global outfile set sorted_results [lsort -integer -index 2 $results] set typed_chars [] set fh [open $outfile "w"] foreach result $sorted_results { set charval [lindex $result 2] lappend typed_chars $charval if {$charval < 255} { puts $fh "[lindex $result 0][lindex $result 1], [format %02x [lindex $result 2]], [lindex $result 3]" } } for {set char 0} {$char < 255} {incr char} { if {$char != 0x00 && $char != 0xFF} { # check if this char was put into the list. If not, report it as untypable if {[lsearch -exact $typed_chars $char] == -1} { puts $fh "--, -, [format %02x $char]" } } } close $fh #puts stderr $results } proc next_modifier {} { global modifiers global modifier_index global matindex set matindex 0 set cur_modifier [lindex $modifiers $modifier_index] keymatrixdown 6 [lindex $cur_modifier 0] after time 0.3 dopress } proc readvalue {row col} { global results global matrixdata global matindex global modifiers global modifier_index set cur_modifier [lindex $modifiers $modifier_index] lappend results [ $row $col [vpeek 0] [lindex $cur_modifier 1]] keymatrixup $row [expr {1 << $col}] type \U000c if {$matindex < [expr [llength $matrixdata] -1]} { incr matindex after time 1 dopress } else { keymatrixup 6 [lindex $cur_modifier 0] if {$modifier_index < [expr [llength $modifiers] -1]} { incr modifier_index after time 0.3 next_modifier } else { set ::throttle on print_results } } } proc dopress {} { global matindex global matrixdata set curdata [lindex $matrixdata $matindex] set row [lindex $curdata 0] set col [lindex $curdata 1] keymatrixdown $row [expr {1 << $col}] after time 0.3 "readvalue $row $col" } set ::throttle off after time 10 next_modifier
[/]
[/]
[/]
[/]
[/]
[/]
[/]
[/]
[/]
[/]
[/]
[/]
[/]
Never mind... forum is breaking it completely... Perhaps try to quote it and then copy the raw text?
I don't know but I see only that when we press these key on a French Sanyo PHC-28L and a Canon V-20, we get the same result, however these are not the same matrices. (The characters of the first two rows are reversed by pressing SHIFT or not.)
https://www.msx.org/wiki/Keyboard_Matrices
Some Japanese MSXs give the same result, although they do not have the same matrices.
Cool entry! I have found this one that clarifies me a bit more what you are telling.
With this, the OpenMSX team could already emulate the HB-F700S? Thus the XML would be available to use the machine with the emulator.
I'll be adding it soon. I haven't had much time lately.
Oh, looks like I already added it 5 days ago: https://github.com/openMSX/openMSX/commit/2c4961a659aae6d9ccd75c2b07cefb8351f1df1f
Cool ! B-) B-) B-)
Thanks a lot ! :) :) :)
About the keymatrix.... it is mostly inside the ROM, I guess. I made a script for openMSX that tries all possible keymatrix inputs and tries to find out which character that produces. It's a grave hack, but maybe it's useful for you... don't forget to edit the file to set the output filepath/name.
Copy that