Revision 250
Added by markw almost 11 years ago
common/a8core/pokey_keyboard_scanner.vhdl | ||
---|---|---|
key_held_next <= key_held_reg;
|
||
|
||
my_key <= '0';
|
||
if (bincnt_reg = compare_latch_reg or debounce_disable='1') then
|
||
if (bincnt_reg = compare_latch_reg) then
|
||
my_key <= '1';
|
||
end if;
|
||
|
||
... | ... | |
end if;
|
||
|
||
when state_key_bounce =>
|
||
if (keyboard_response(0) = '0' or debounce_disable='1') then -- detected key press
|
||
if (keyboard_response(0) = '0') then -- detected key press
|
||
if (my_key = '1') then -- same key
|
||
keycode_latch_next <= compare_latch_reg;
|
||
irq_next <= '1';
|
||
... | ... | |
when others=>
|
||
state_next <= state_wait_key;
|
||
end case;
|
||
|
||
if (debounce_disable = '1' and keyboard_response(0) = '0') then
|
||
keycode_latch_next <= bincnt_reg;
|
||
irq_next <= '1';
|
||
key_held_next<= '1';
|
||
end if;
|
||
|
||
break_pressed_next <= '0';
|
||
shift_pressed_next <= '0';
|
Also available in: Unified diff
Fix pitfall. Was only getting 2/3 values for keycode... My previous implementation seems to match the pokey datasheet but I guess not...