Skip to content

Instantly share code, notes, and snippets.

@mattlawer
Last active September 5, 2021 15:23
Show Gist options
  • Save mattlawer/16a74e6241216376969908158837bf2f to your computer and use it in GitHub Desktop.
Save mattlawer/16a74e6241216376969908158837bf2f to your computer and use it in GitHub Desktop.
USB Rubber Ducky - French Mac Keyboard Layout
// French mac layout
MODIFIERKEY_ALT_SHIFT = 0x06
KEY_NON_US_100 = 100
// 32
ASCII_20 = KEY_SPACE
// 33 !
ASCII_21 = KEY_8
// 34 "
ASCII_22 = KEY_3
// 35 #
ASCII_23 = KEY_TILDE, MODIFIERKEY_SHIFT
// 36 $
ASCII_24 = KEY_RIGHT_BRACE
// 37 %
ASCII_25 = KEY_QUOTE, MODIFIERKEY_SHIFT
// 38 &
ASCII_26 = KEY_1
// 39 '
ASCII_27 = KEY_4
// 40 (
ASCII_28 = KEY_5
// 41 )
ASCII_29 = KEY_MINUS
// 42 *
ASCII_2A = KEY_RIGHT_BRACE, MODIFIERKEY_SHIFT
// 43 +
ASCII_2B = KEY_SLASH, MODIFIERKEY_SHIFT
// 44 ,
ASCII_2C = KEY_M
// 45 -
ASCII_2D = KEY_EQUAL
// 46 .
ASCII_2E = KEY_COMMA, MODIFIERKEY_SHIFT
// 47 /
ASCII_2F = KEY_PERIOD, MODIFIERKEY_SHIFT
// 48 0
ASCII_30 = KEY_0, MODIFIERKEY_SHIFT
// 49 1
ASCII_31 = KEY_1, MODIFIERKEY_SHIFT
// 50 2
ASCII_32 = KEY_2, MODIFIERKEY_SHIFT
// 51 3
ASCII_33 = KEY_3, MODIFIERKEY_SHIFT
// 52 4
ASCII_34 = KEY_4, MODIFIERKEY_SHIFT
// 53 5
ASCII_35 = KEY_5, MODIFIERKEY_SHIFT
// 54 6
ASCII_36 = KEY_6, MODIFIERKEY_SHIFT
// 55 7
ASCII_37 = KEY_7, MODIFIERKEY_SHIFT
// 55 8
ASCII_38 = KEY_8, MODIFIERKEY_SHIFT
// 57 9
ASCII_39 = KEY_9, MODIFIERKEY_SHIFT
// 58 :
ASCII_3A = KEY_PERIOD
// 59 ;
ASCII_3B = KEY_COMMA
// 60 <
ASCII_3C = KEY_NON_US_100
// 61 =
ASCII_3D = KEY_SLASH
// 62 >
ASCII_3E = KEY_NON_US_100, MODIFIERKEY_SHIFT
// 63 ?
ASCII_3F = KEY_M, MODIFIERKEY_SHIFT
// 64 @
ASCII_40 = KEY_TILDE
// 65 A
ASCII_41 = KEY_Q, MODIFIERKEY_SHIFT
// 66 B
ASCII_42 = KEY_B, MODIFIERKEY_SHIFT
// 67 C
ASCII_43 = KEY_C, MODIFIERKEY_SHIFT
// 68 D
ASCII_44 = KEY_D, MODIFIERKEY_SHIFT
// 69 E
ASCII_45 = KEY_E, MODIFIERKEY_SHIFT
// 70 F
ASCII_46 = KEY_F, MODIFIERKEY_SHIFT
// 71 G
ASCII_47 = KEY_G, MODIFIERKEY_SHIFT
// 72 H
ASCII_48 = KEY_H, MODIFIERKEY_SHIFT
// 73 I
ASCII_49 = KEY_I, MODIFIERKEY_SHIFT
// 74 J
ASCII_4A = KEY_J, MODIFIERKEY_SHIFT
// 75 K
ASCII_4B = KEY_K, MODIFIERKEY_SHIFT
// 76 L
ASCII_4C = KEY_L, MODIFIERKEY_SHIFT
// 77 M
ASCII_4D = KEY_SEMICOLON, MODIFIERKEY_SHIFT
// 78 N
ASCII_4E = KEY_N, MODIFIERKEY_SHIFT
// 79 O
ASCII_4F = KEY_O, MODIFIERKEY_SHIFT
// 80 P
ASCII_50 = KEY_P, MODIFIERKEY_SHIFT
// 81 Q
ASCII_51 = KEY_A, MODIFIERKEY_SHIFT
// 82 R
ASCII_52 = KEY_R, MODIFIERKEY_SHIFT
// 83 S
ASCII_53 = KEY_S, MODIFIERKEY_SHIFT
// 84 T
ASCII_54 = KEY_T, MODIFIERKEY_SHIFT
// 85 U
ASCII_55 = KEY_U, MODIFIERKEY_SHIFT
// 86 V
ASCII_56 = KEY_V, MODIFIERKEY_SHIFT
// 87 W
ASCII_57 = KEY_Z, MODIFIERKEY_SHIFT
// 88 X
ASCII_58 = KEY_X, MODIFIERKEY_SHIFT
// 89 Y
ASCII_59 = KEY_Y, MODIFIERKEY_SHIFT
// 90 Z
ASCII_5A = KEY_W, MODIFIERKEY_SHIFT
// 91 [
ASCII_5B = KEY_5, MODIFIERKEY_ALT_SHIFT
// 92 backslash
ASCII_5C = KEY_PERIOD, MODIFIERKEY_ALT_SHIFT
// 93 ]
ASCII_5D = KEY_MINUS, MODIFIERKEY_ALT_SHIFT
// 94 ^
ASCII_5E = KEY_LEFT_BRACE
// 95 _
ASCII_5F = KEY_EQUAL, MODIFIERKEY_SHIFT
// 96 `
ASCII_60 = KEY_BACKSLASH
// 97 a
ASCII_61 = KEY_Q
// 98 b
ASCII_62 = KEY_B
// 99 c
ASCII_63 = KEY_C
// 100 d
ASCII_64 = KEY_D
// 101 e
ASCII_65 = KEY_E
// 102 f
ASCII_66 = KEY_F
// 103 g
ASCII_67 = KEY_G
// 104 h
ASCII_68 = KEY_H
// 105 i
ASCII_69 = KEY_I
// 106 j
ASCII_6A = KEY_J
// 107 k
ASCII_6B = KEY_K
// 108 l
ASCII_6C = KEY_L
// 109 m
ASCII_6D = KEY_SEMICOLON
// 110 n
ASCII_6E = KEY_N
// 111 o
ASCII_6F = KEY_O
// 112 p
ASCII_70 = KEY_P
// 113 q
ASCII_71 = KEY_A
// 114 r
ASCII_72 = KEY_R
// 115 s
ASCII_73 = KEY_S
// 116 t
ASCII_74 = KEY_T
// 117 u
ASCII_75 = KEY_U
// 118 v
ASCII_76 = KEY_V
// 119 w
ASCII_77 = KEY_Z
// 120 x
ASCII_78 = KEY_X
// 121 y
ASCII_79 = KEY_Y
// 122 z
ASCII_7A = KEY_W
// 123 {
ASCII_7B = KEY_5, MODIFIERKEY_RIGHT_ALT
// 124 |
ASCII_7C = KEY_L, MODIFIERKEY_ALT_SHIFT
// 125 }
ASCII_7D = KEY_MINUS, MODIFIERKEY_RIGHT_ALT
// 126 ~
ASCII_7E = KEY_N, MODIFIERKEY_RIGHT_ALT
// 127 Backspace
ASCII_7F = KEY_BACKSPACE
// 160 Nonbreakng Space
ISO_8859_1_A0 = KEY_SPACE
// 163 � Pound Sign
ISO_8859_1_A3 = KEY_BACKSLASH, MODIFIERKEY_SHIFT
// 164 � Currency or Euro Sign
ISO_8859_1_A4 = KEY_RIGHT_BRACE, MODIFIERKEY_RIGHT_ALT
// 167 � SECTION SIGN
ISO_8859_1_A7 = KEY_6
// 176 � DEGREE SIGN
ISO_8859_1_B0 = KEY_MINUS, MODIFIERKEY_SHIFT
// 224 � a GRAVE
ISO_8859_1_E0 = KEY_0
// 231 � c CEDILLA
ISO_8859_1_E7 = KEY_9
// 232 � e GRAVE
ISO_8859_1_E8 = KEY_7
// 233 � e ACUTE
ISO_8859_1_E9 = KEY_2
// 249 � u GRAVE
ISO_8859_1_F9 = KEY_COMMA
// Euro Sign
UNICODE_20AC = KEY_RIGHT_BRACE, MODIFIERKEY_RIGHT_ALT
@Khephren35
Copy link

Hi!
I apologise for this dumb question, but as a noob: What am I supposed to do with this file to get my rubber ducky working properly on a mac?
Thank you very much.
Khephren.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment