Hello. Here is a FreeMiNT keyboard layout for French PC keyboards, named french-pc.tbl. Supported Atari hardware: - ARAnyM with French PC keyboard attached to the host - Eiffel adapter with French PS/2 keyboard - FireBee with FireTOS and French USB keyboard (currently buggy) 1) Please commit french-pc.patch2) Please put french-pc.tbl in freemint/sys/tbl/France, and commit it in *binary* mode.
french-pc.patch: Added French PC keyboard layout. Contributed by Vincent Rivière. -- Vincent Rivière
--- freemint.orig/tools/mktbl/keyboards/french-pc.src 1970-01-01 01:00:00.000000000 +0100
+++ freemint/tools/mktbl/keyboards/french-pc.src 2013-01-12 18:00:21.973595600 +0100
@@ -0,0 +1,123 @@
+; French PC keyboard, AKP code 2
+; By Vincent Riviere, 2013.
+;
+; Supported Atari hardware:
+; - ARAnyM with French PC keyboard attached to the host
+; - Eiffel adapter with French PS/2 keyboard
+; - FireBee with FireTOS and French USB keyboard
+;
+; The "squared" key on top of Tab has the scancode $29 on ARAnyM,
+; but scancode $5b on Eiffel. While $5b is the left Win key on ARAnyM.
+; So I didn't map that key, which is rarely used, anyway.
+;
+; The Alt and AltGr tables are equal because:
+; - On ARAnyM for Windows, the AltGr key can't be typed, due to strange
+; behavior of the French keyboard driver (which simulates Ctrl+Alt)
+; and lack of support for that special case in SDL.
+; So you need to use left Alt to type characters such as # @ [ ] etc.
+; You will hear the host bell when typing Alt+key, but that's another
+; bug of SDL for Windows.
+; - On Eiffel, by default, AltGr generates the Alt scancode.
+; So you can use the keyboard as usual.
+
+; Unshifted
+
+ dc.w $2772
+ dc.w $0002
+
+ dc.b $00,$1b,'&',$82,'"',$27,'(','-'
+ dc.b $8a,'_',$87,$85,')','=',$08,$09
+ dc.b 'a','z','e','r','t','y','u','i'
+ dc.b 'o','p','^','$',$0d,$00,'q','s'
+ dc.b 'd','f','g','h','j','k','l','m'
+ dc.b $97,$00,$00,'*','w','x','c','v'
+ dc.b 'b','n',',',';',':','!',$00,$00
+ dc.b $00,' ',$00,$00,$00,$00,$00,$00
+ dc.b $00,$00,$00,$00,$00,$00,$00,$00
+ dc.b $00,$00,'-',$00,$00,$00,'+',$00
+ dc.b $00,$00,$00,$7f,$00,$00,$00,$00
+ dc.b $00,$00,$00,$00,$00,$00,$00,$00
+ dc.b '<',$00,$00,$00,$00,'/','*','7'
+ dc.b '8','9','4','5','6','1','2','3'
+ dc.b '0','.',$0d,$00,$00,$00,$00,$00
+ dc.b $00,$00,$00,$00,$00,$00,$00,$00
+
+; Shifted
+
+ dc.b $00,$1b,'1','2','3','4','5','6'
+ dc.b '7','8','9','0',$f8,'+',$08,$09
+ dc.b 'A','Z','E','R','T','Y','U','I'
+ dc.b 'O','P',$b9,$9c,$0d,$00,'Q','S'
+ dc.b 'D','F','G','H','J','K','L','M'
+ dc.b '%',$00,$00,$e6,'W','X','C','V'
+ dc.b 'B','N','?','.','/',$dd,$00,$00
+ dc.b $00,' ',$00,$00,$00,$00,$00,$00
+ dc.b $00,$00,$00,$00,$00,$00,$00,$00
+ dc.b $00,$00,'-',$00,$00,$00,'+',$00
+ dc.b $00,$00,$00,$7f,$00,$00,$00,$00
+ dc.b $00,$00,$00,$00,$00,$00,$00,$00
+ dc.b '>',$00,$00,$00,$00,'/','*','7'
+ dc.b '8','9','4','5','6','1','2','3'
+ dc.b '0','.',$0d,$00,$00,$00,$00,$00
+ dc.b $00,$00,$00,$00,$00,$00,$00,$00
+
+; Caps
+
+ dc.b $00,$1b,'&',$90,'"',$27,'(','-'
+ dc.b $8a,'_',$80,$b6,')','=',$08,$09
+ dc.b 'A','Z','E','R','T','Y','U','I'
+ dc.b 'O','P','^','$',$0d,$00,'Q','S'
+ dc.b 'D','F','G','H','J','K','L','M'
+ dc.b $97,$00,$00,'*','W','X','C','V'
+ dc.b 'B','N',',',';',':','!',$00,$00
+ dc.b $00,' ',$00,$00,$00,$00,$00,$00
+ dc.b $00,$00,$00,$00,$00,$00,$00,$00
+ dc.b $00,$00,'-',$00,$00,$00,'+',$00
+ dc.b $00,$00,$00,$7f,$00,$00,$00,$00
+ dc.b $00,$00,$00,$00,$00,$00,$00,$00
+ dc.b '<',$00,$00,$00,$00,'/','*','7'
+ dc.b '8','9','4','5','6','1','2','3'
+ dc.b '0','.',$0d,$00,$00,$00,$00,$00
+ dc.b $00,$00,$00,$00,$00,$00,$00,$00
+
+; Alternate
+
+ dc.b $79,'~',$7a,'#',$7b,'{',$7c,'['
+ dc.b $7d,'|',$7e,'`',$7f,$5c,$80,'^'
+ dc.b $81,'@',$82,']',$83,'}',$00
+
+; Alternate shifted
+
+ dc.b $00
+
+; Alternate Caps
+
+ dc.b $79,'~',$7a,'#',$7b,'{',$7c,'['
+ dc.b $7d,'|',$7e,'`',$7f,$5c,$80,'^'
+ dc.b $81,'@',$82,']',$83,'}',$00
+
+; AltGr
+
+ dc.b $79,'~',$7a,'#',$7b,'{',$7c,'['
+ dc.b $7d,'|',$7e,'`',$7f,$5c,$80,'^'
+ dc.b $81,'@',$82,']',$83,'}',$00
+
+; Deadkeys
+
+ dc.b '^','a',$83
+ dc.b '^','e',$88
+ dc.b '^','i',$8c
+ dc.b '^','o',$93
+ dc.b '^','u',$96
+
+ dc.b $b9,'a',$84
+ dc.b $b9,'e',$89
+ dc.b $b9,'i',$8b
+ dc.b $b9,'o',$94
+ dc.b $b9,'u',$81
+
+ dc.b $b9,'A',$8e
+ dc.b $b9,'O',$99
+ dc.b $b9,'U',$9a
+
+ dc.b $00
Attachment:
french-pc.tbl
Description: Binary data