Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,8 @@ If you want to reinstall or update piduck, please rerun the script.
`./install.sh`

## Usage
Syntax of [Ducky-Script-v1][Ducky-Script-v1-Syntax]
Syntax of [Ducky-Script-v1][Ducky-Script-v1-Syntax] with additions:
CHAR: Uses key with the specified hid keyboard id as argument
Root is needed (again)
### Using Script File
`piduck -i inject.txt`
Expand Down
210 changes: 210 additions & 0 deletions pd_key_maps/keymap_de.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,210 @@
#!/usr/bin/env python3
commap = {
"LCTRL": 1,
"LSHIFT": 2,
"LALT": 4,
"LMETA": 8,
"RCTRL": 16,
"RSHIFT": 32,
"RALT": 64,
"RMETA": 128,
}
c1map = {
"a": 4,
"b": 5,
"c": 6,
"d": 7,
"e": 8,
"f": 9,
"g": 10,
"h": 11,
"i": 12,
"j": 13,
"k": 14,
"l": 15,
"m": 16,
"n": 17,
"o": 18,
"p": 19,
"q": 20,
"r": 21,
"s": 22,
"t": 23,
"u": 24,
"v": 25,
"w": 26,
"x": 27,
"z": 28,
"y": 29,
"1": 30,
"2": 31,
"3": 32,
"4": 33,
"5": 34,
"6": 35,
"7": 36,
"8": 37,
"9": 38,
"0": 39,
"RETURN": 40,
"ESC": 41,
"BACKSPACE": 42,
"TAB": 43,
"SPACE": 44,
"ß": 45,
"´": 46,
"ü": 47,
"+": 48,
"#": 49,
# "#": 50, # Non us only
"ö": 51,
"ä": 52,
"^": 53,
",": 54,
".": 55,
"-": 56,
"CAPSLOCK": 57,
"F1": 58,
"F2": 59,
"F3": 60,
"F4": 61,
"F5": 62,
"F6": 63,
"F7": 64,
"F8": 65,
"F9": 66,
"F10": 67,
"F11": 68,
"F12": 69,
"PRINT": 70,
"SCROLLLOCK": 71,
"PAUSE": 72,
"INSERT": 73,
"HOME": 74,
"PAGEUP": 75,
"DELETE": 76,
"END": 77,
"PAGEDOWN": 78,
"RIGHT": 79,
"LEFT": 80,
"DOWN": 81,
"UP": 82,
"NUMLOCK": 83,
# kp-divide:"54",
# kp-multiply:"55",
# kp-minus:"56",
# kp-plus:"57",
# kp-return:"58",
# kp-1:"59",
# kp-2:"5a",
# kp-3:"5b",
# kp-4:"5c",
# kp-5:"5d",
# kp-6:"5e",
# kp-7:"5f",
# kp-8:"60",
# kp-9:"61",
# kp-0:"62",
# kp-period:"63",
"<": 100,
# application:"65",
# power:"66",
# kp-equal:"67",
"F13": 104,
"F14": 105,
"F15": 106,
"F16": 107,
"F17": 108,
"F18": 109,
"F19": 110,
"F20": 111,
"F21": 112,
"F22": 113,
"F23": 114,
"F24": 115,
# execute:116,
# help:117,
# menu:118,
# select:119,
# cancel:120,
# redo:121,
# undo:122,
# cut:123,
# copy:124,
# paste:125,
# find:126,
# mute:127,
# volume-up:128,
# volume-down:129,
}
c2map = {
"°": "SHIFT ^",
"′": "RALT ^",
"″": "SHIFT RALT ^",
"!": "SHIFT 1",
"¹": "RALT 1",
"¡": "SHIFT RALT 1",
'"': "SHIFT 2",
"²": "RALT 2",
"⅛": "SHIFT RALT 2",
"§": "SHIFT 3",
"³": "RALT 3",
"£": "SHIFT RALT 3",
"$": "SHIFT 4",
"¼": "RALT 4",
"¤": "SHIFT RALT 4",
"%": "SHIFT 5",
"½": "RALT 5",
"⅜": "SHIFT RALT 5",
"&": "SHIFT 6",
"¬": "RALT 6",
"⅝": "SHIFT RALT 6",
"/": "SHIFT 7",
"{": "RALT 7",
"⅞": "SHIFT RALT 7",
"(": "SHIFT 8",
"[": "RALT 8",
"™": "SHIFT RALT 9",
")": "SHIFT 9",
"]": "RALT 9",
"±": "SHIFT RALT 9",
"=": "SHIFT 0",
"}": "RALT 0",
# "°": "SHIFT RALT 0", Duplicate
">": "SHIFT <",
"|": "RALT <",
"?": "SHIFT ß",
"\\": "RALT ß",
"¿": "SHIFT RALT ß",
"`": "SHIFT ´",
"¸": "RALT ´",
"˛": "SHIFT RALT ´",
"*": "SHIFT +",
"~": "RALT +",
"¯": "SHIFT RALT +",
"'": "SHIFT #",
"’": "RALT #",
"˘": "SHIFT RALT #",
"_": "SHIFT -",
"–": "RALT -",
"—": "SHIFT RALT -",
";": "SHIFT ,",
"·": "RALT ,",
"×": "SHIFT RALT ,",
":": "SHIFT .",
"…": "RALT .",
"÷": "SHIFT RALT .",
">": "SHIFT <",
"|": "RALT <",
"Ü": "SHIFT ü",
"¨": "RALT ü",
"Ö": "SHIFT ö",
"˝": "RALT ö",
"Ä": "SHIFT ä",
"^": "RALT ä",
"µ": "RALT m",
"@": "RALT q",
"€": "RALT e",
}
for i in range(65, 91):
c2map[chr(i)] = "SHIFT " + chr(i).lower()
2 changes: 1 addition & 1 deletion pd_key_maps/keymap_us.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#!/bin/python3
#!/usr/bin/env python3
commap = {
"LCTRL": 1,
"LSHIFT": 2,
Expand Down
8 changes: 8 additions & 0 deletions piduck.py
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,14 @@ def pharse_p2(line, known, deltrue):
elif command[0] in aliasmap:
pharse_p2(aliasmap[command[0]] + " " + " ".join(command[1:]), known, True)
return
elif command[0] == "CHAR":
if command[1].isdigit():
known[1].append(int(command[1]))
if len(command) > 2:
pharse_p2(" ".join(command[2:]), known, True)
else:
out(known)
return
else:
eprint('Could not find "' + command[0] + '"')
exit(2)
Expand Down