Jump to content

Mac foreign keyboard mystery solved ?


euri10

Recommended Posts

I see lots of unanswered questions about layouts and foreign languages for mac os: 

And close to zero support nor answers, nor anything in fact, so here's my take on it since I spent quite some time getting it worked !

There is this thread to bypass the keyboard assistant, well this is half the solution in fact.

You need to get the PID of the right layout AND have the correct json.

 

So for instance, to have working payloads on a french mac, you'll need that fr-mc.json AND use 

DUCKY_LANG fr-mc
ATTACKMODE HID VID_0X05AC PID_0X0250

 

{
   "__comment":  "All numbers here are in hex format and 0x is ignored.",
   "__comment":  " ",
   "__comment":  "This list is in ascending order of 3rd byte (HID Usage ID).",
   "__comment":  "  See section 10 Keyboard/Keypad Page (0x07)",
   "__comment":  "  of document USB HID Usage Tables Version 1.12.",
   "__comment":  " ",
   "__comment":  "Definition of these 3 bytes can be found",
   "__comment":  "  in section B.1 Protocol 1 (Keyboard)",
   "__comment":  "  of document Device Class Definition for HID Version 1.11",
   "__comment":  "  - byte 1: Modifier keys",
   "__comment":  "  - byte 2: Reserved",
   "__comment":  "  - byte 3: Keycode 1",
   "__comment":  " ",
   "__comment":  "Both documents can be obtained from link here",
   "__comment":  "  http://www.usb.org/developers/hidpage/",
   "__comment":  " ",
   "__comment":  "A = LeftShift + a, { = LeftShift + [",
   "__comment":  " ",
   "CTRL":       "01,00,00",
   "CONTROL":    "01,00,00",
   "SHIFT":      "02,00,00",
   "ALT":        "04,00,00",
   "GUI":        "08,00,00",
   "WINDOWS":    "08,00,00",
   "CTRL-ALT":   "05,00,00",
   "CTRL-SHIFT": "03,00,00",
   "ALT-SHIFT":  "06,00,00",
   "__comment":             "Below 5 key combinations are for Mac OSX",
   "__comment":             "Example: (COMMAND-OPTION SHIFT t) to open terminal",
   "COMMAND":               "08,00,00",
   "COMMAND-CTRL":          "09,00,00",
   "COMMAND-CTRL-SHIFT":    "0B,00,00",
   "COMMAND-OPTION":        "0C,00,00",
   "COMMAND-OPTION-SHIFT":  "0E,00,00",
   "q":          "00,00,04",
   "Q":          "02,00,04",
   "b":          "00,00,05",
   "B":          "02,00,05",
   "c":          "00,00,06",
   "C":          "02,00,06",
   "d":          "00,00,07",
   "D":          "02,00,07",
   "e":          "00,00,08",
   "E":          "02,00,08",
   "f":          "00,00,09",
   "F":          "02,00,09",
   "g":          "00,00,0a",
   "G":          "02,00,0a",
   "h":          "00,00,0b",
   "H":          "02,00,0b",
   "i":          "00,00,0c",
   "I":          "02,00,0c",
   "j":          "00,00,0d",
   "J":          "02,00,0d",
   "k":          "00,00,0e",
   "K":          "02,00,0e",
   "l":          "00,00,0f",
   "L":          "02,00,0f",
   ",":          "00,00,10",
   "?":          "02,00,10",
   "n":          "00,00,11",
   "N":          "02,00,11",
   "~":          "04,00,11",
   "o":          "00,00,12",
   "O":          "02,00,12",
   "p":          "00,00,13",
   "P":          "02,00,13",
   "a":          "00,00,14",
   "A":          "02,00,14",
   "r":          "00,00,15",
   "R":          "02,00,15",
   "s":          "00,00,16",
   "S":          "02,00,16",
   "t":          "00,00,17",
   "T":          "02,00,17",
   "u":          "00,00,18",
   "U":          "02,00,18",
   "v":          "00,00,19",
   "V":          "02,00,19",
   "z":          "00,00,1a",
   "Z":          "02,00,1a",
   "x":          "00,00,1b",
   "X":          "02,00,1b",
   "y":          "00,00,1c",
   "Y":          "02,00,1c",
   "w":          "00,00,1d",
   "W":          "02,00,1d",
   "&":          "00,00,1e",
   "1":          "02,00,1e",
   "é":          "00,00,1f",
   "2":          "02,00,1f",
   "\"":          "00,00,20",
   "3":          "02,00,20",
   "'":          "00,00,21",
   "4":          "02,00,21",
   "(":          "00,00,22",
   "5":          "02,00,22",
   "§":          "00,00,23",
   "6":          "02,00,23",
   "è":          "00,00,24",
   "7":          "02,00,24",
   "!":          "00,00,25",
   "8":          "02,00,25",
   "ç":          "00,00,26",
   "9":          "02,00,26",
   "à":          "00,00,27",
   "0":          "02,00,27",
   "ENTER":      "00,00,28",
   "ESC":        "00,00,29",
   "ESCAPE":     "00,00,29",
   "BACKSPACE":  "00,00,2a",
   "TAB":        "00,00,2b",
   "ALT-TAB":    "04,00,2b",
   "SPACE":      "00,00,2c",
   " ":          "00,00,2c",
   ")":          "00,00,2d",
   "°":          "02,00,2d",
   "-":          "00,00,2e",
   "_":          "02,00,2e",
   "^":          "00,00,2f",
   "¨":          "02,00,2f",
   "$":          "00,00,30",
   "*":          "02,00,30",
   "`":         "00,00,31",
   "£":          "02,00,31",
   "m":          "00,00,33",
   "M":          "02,00,33",
   "ù":          "00,00,34",
   "%":         "02,00,34",
   "<":          "00,00,64",
   ">":          "02,00,64",
   ";":          "00,00,36",
   ".":          "02,00,36",
   ":":          "00,00,37",
   "/":          "02,00,37",
   "=":          "00,00,38",
   "+":          "02,00,38",
   "CAPSLOCK":   "00,00,39",
   "F1":         "00,00,3a",
   "F2":         "00,00,3b",
   "F3":         "00,00,3c",
   "F4":         "00,00,3d",
   "F5":         "00,00,3e",
   "F6":         "00,00,3f",
   "F7":         "00,00,40",
   "F8":         "00,00,41",
   "F9":         "00,00,42",
   "F10":        "00,00,43",
   "F11":        "00,00,44",
   "F12":        "00,00,45",
   "PRINTSCREEN":"00,00,46",
   "SCROLLLOCK": "00,00,47",
   "PAUSE":      "00,00,48",
   "BREAK":      "00,00,48",
   "INSERT":     "00,00,49",
   "HOME":       "00,00,4a",
   "PAGEUP":     "00,00,4b",
   "DELETE":     "00,00,4c",
   "DEL":        "00,00,4c",
   "END":        "00,00,4d",
   "PAGEDOWN":   "00,00,4e",
   "RIGHTARROW": "00,00,4f",
   "RIGHT":      "00,00,4f",
   "LEFTARROW":  "00,00,50",
   "LEFT":       "00,00,50",
   "DOWNARROW":  "00,00,51",
   "DOWN":       "00,00,51",
   "UPARROW":    "00,00,52",
   "UP":         "00,00,52",
   "NUMLOCK":    "00,00,53",
   "MENU":       "00,00,65",
   "APP":        "00,00,65"
}

 

Link to comment
Share on other sites

How I got the PID you'll tell me : there is this page that lists lots of keyboards http://www.the-sz.com/products/usbid/index.php?v=0x05AC

But I tested the FR layout thanks to this post: https://github.com/NicoHood/HID/issues/97#issuecomment-315740980

There is certainly a database somewhere with the various PIDs of mac keyboards, but I couldn't find it

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...