- 8'h1C: begin nd <= ~nd; data <= 8'h41; end
- 8'h32: begin nd <= ~nd; data <= 8'h42; end
- 8'h21: begin nd <= ~nd; data <= 8'h43; end
- 8'h23: begin nd <= ~nd; data <= 8'h44; end
- 8'h24: begin nd <= ~nd; data <= 8'h45; end
- 8'h2B: begin nd <= ~nd; data <= 8'h46; end
- 8'h34: begin nd <= ~nd; data <= 8'h47; end
- 8'h33: begin nd <= ~nd; data <= 8'h48; end
- 8'h43: begin nd <= ~nd; data <= 8'h49; end
- 8'h3B: begin nd <= ~nd; data <= 8'h4A; end
- 8'h42: begin nd <= ~nd; data <= 8'h4B; end
- 8'h4B: begin nd <= ~nd; data <= 8'h4C; end
- 8'h3A: begin nd <= ~nd; data <= 8'h4D; end
- 8'h31: begin nd <= ~nd; data <= 8'h4E; end
- 8'h44: begin nd <= ~nd; data <= 8'h4F; end
- 8'h4D: begin nd <= ~nd; data <= 8'h50; end
- 8'h15: begin nd <= ~nd; data <= 8'h51; end
- 8'h2D: begin nd <= ~nd; data <= 8'h52; end
- 8'h1B: begin nd <= ~nd; data <= 8'h53; end
- 8'h2C: begin nd <= ~nd; data <= 8'h54; end
- 8'h3C: begin nd <= ~nd; data <= 8'h55; end
- 8'h2A: begin nd <= ~nd; data <= 8'h56; end
- 8'h1D: begin nd <= ~nd; data <= 8'h57; end
- 8'h22: begin nd <= ~nd; data <= 8'h58; end
- 8'h35: begin nd <= ~nd; data <= 8'h59; end
- 8'h1A: begin nd <= ~nd; data <= 8'h60; end
+ 8'h12: mod_lshift <= 1;
+ 8'h59: mod_rshift <= 1;
+ 8'h14: mod_capslock <= ~mod_capslock;
+ 8'b0xxxxxxx: begin nd <= ~nd; data <= mod_shifted ? shiftedrom[key] : unshiftedrom[key]; end
+ 8'b1xxxxxxx: begin /* AAAAAAASSSSSSSS */ end