token_generation: PROCESS (reset, done_pressing, data_keyboard) BEGIN IF reset = '0' THEN token <= (OTHERS => '0'); --token_1 <= (OTHERS => '0'); ELSIF done_pressing'EVENT AND done_pressing = '1' THEN CASE data_keyboard IS --Buchstaben WHEN x"1C" => token <="00000000001101"; token_1 <="001000001"; -- A WHEN x"32" => token <="00000001010111"; token_1 <="001000010"; -- B WHEN x"21" => token <="00000001110111"; token_1 <="001000011"; -- C WHEN x"23" => token <="00000000010111"; token_1 <="001000100"; -- D WHEN x"24" => token <="00000000000001"; token_1 <="001000101"; -- E WHEN x"2B" => token <="00000001110101"; token_1 <="001000110"; -- F WHEN x"34" => token <="00000000011111"; token_1 <="001000111"; -- G WHEN x"33" => token <="00000001010101"; token_1 <="001001000"; -- H WHEN x"43" => token <="00000000000101"; token_1 <="001001001"; -- I WHEN x"3B" => token <="00000011111101"; token_1 <="001001010"; -- J WHEN x"42" => token <="00000000110111"; token_1 <="001001011"; -- K WHEN x"4B" => token <="00000001011101"; token_1 <="001001100"; -- L WHEN x"3A" => token <="00000000001111"; token_1 <="001001101"; -- M WHEN x"31" => token <="00000000000111"; token_1 <="001001110"; -- N WHEN x"44" => token <="00000000111111"; token_1 <="001001111"; -- O WHEN x"4D" => token <="00000001111101"; token_1 <="001010000"; -- P WHEN x"15" => token <="00000011011111"; token_1 <="001010001"; -- Q WHEN x"2D" => token <="00000000011101"; token_1 <="001010010"; -- R WHEN x"1B" => token <="00000000010101"; token_1 <="001010011"; -- S WHEN x"2C" => token <="00000000000011"; token_1 <="001010100"; -- T WHEN x"3C" => token <="00000000110101"; token_1 <="001010101"; -- U WHEN x"2A" => token <="00000011010101"; token_1 <="001010110"; -- V WHEN x"1D" => token <="00000000111101"; token_1 <="001010111"; -- W WHEN x"22" => token <="00000011010111"; token_1 <="001011000"; -- X WHEN x"1A" => token <="00000011110111"; token_1 <="001011001"; -- Y WHEN x"35" => token <="00000001011111"; token_1 <="001011010"; -- Z --Zahlen WHEN x"45" => token <="00001111111111"; token_1 <="000110000"; -- 0 WHEN x"16" => token <="00001111111101"; token_1 <="000110001"; -- 1 WHEN x"1E" => token <="00001111110101"; token_1 <="000110010"; -- 2 WHEN x"26" => token <="00001111010101"; token_1 <="000110011"; -- 3 WHEN x"25" => token <="00001101010101"; token_1 <="000110100"; -- 4 WHEN x"2E" => token <="00000101010101"; token_1 <="000110101"; -- 5 WHEN x"36" => token <="00000101010111"; token_1 <="000110110"; -- 6 WHEN x"3D" => token <="00000101011111"; token_1 <="000110111"; -- 7 WHEN x"3E" => token <="00000101111111"; token_1 <="000111000"; -- 8 WHEN x"46" => token <="00000111111111"; token_1 <="000111001"; -- 9 --Sonderzeichen -- WHEN x"" => token <="00000111110111"; -- Å WHEN x"52" => token <="00000011011101"; token_1 <="011100001"; -- Ä -- WHEN x"" => token <="00000111010111"; -- È -- WHEN x"" => token <="00000101110101"; -- É WHEN x"4C" => token <="00000001111111"; token_1 <="011101111"; -- Ö WHEN x"54" => token <="00000011110101"; token_1 <="011110101"; -- Ü WHEN x"4E" => token <="01011111010101"; token_1 <="011100010"; -- ß -- WHEN x"" => token <="00110111011101"; -- ; -- WHEN x"" => token <="00010111110101"; -- ? WHEN x"4A" => token <="00110101010111"; token_1 <="000101101"; -- - -- WHEN x"" => token <="00010111110111"; -- _ -- WHEN x"" => token <="00001111011111"; -- Ñ WHEN x"49" => token <="00110111011101"; token_1 <="000101110"; -- . WHEN x"41" => token <="00111101011111"; token_1 <="000101100"; -- , -- WHEN x"" => token <="00111111010101"; -- : -- WHEN x"" => token <="00001101111101"; -- ( -- WHEN x"" => token <="00110111110111"; -- ) -- WHEN x"" => token <="00011111111101"; -- ' -- WHEN x"" => token <="00001101010111"; -- = WHEN x"5B" => token <="00000111011101"; token_1 <="000101011"; -- + -- WHEN x"" => token <="00001101011101"; -- / -- WHEN x"" => token <="00011111011101"; -- @ WHEN x"29" => token <="10000000000000"; -- " " WHEN x"5A" => token <="11000000000000"; -- "ENTER" WHEN x"66" => token <="11010000000000"; -- "Backspace" WHEN x"71" => token <="11011000000000"; -- "Entf" WHEN x"76" => token <="11011010000000"; -- "Esc" when x"6B" => token <= "11011011000000"; -- "left Arrow" when x"74" => token <= "11011011010000"; -- "Right Arrow" WHEN OTHERS => token <= (OTHERS => '0'); END CASE; END IF; END PROCESS;