From abf14d4f977fddddaab28f4ae21b61f68d0d3052 Mon Sep 17 00:00:00 2001 From: Cole Deck Date: Sat, 24 Oct 2020 00:27:47 +0100 Subject: [PATCH] add ctrl key, heck that was annoying to figure out --- __pycache__/kb.cpython-37.pyc | Bin 1845 -> 1872 bytes input.py | 47 +++++++++++++++++++++++++++++++--- kb.py | 12 +++++---- 3 files changed, 50 insertions(+), 9 deletions(-) diff --git a/__pycache__/kb.cpython-37.pyc b/__pycache__/kb.cpython-37.pyc index 789787ebc6cd1998bd7d9de7c005b2f96bce6005..b8d99843ac374b77cd403f5096f1f9ba6fd63ae0 100644 GIT binary patch literal 1872 zcmah}UvC>l5Z~GRd$Y5@`R&YpS}uozp1~j(*5C)a zx`@|sjdY0crHHPdQ&iFD04sWUw<3Ly=*w=C(6l4UWBFV42*z*JI%+uN;2Pap0Wr_)st z7`M}HD~mT549A2yK>l@~#u>*EpjJsP2DCwcazMwRC4-rQqVv28sz$zwt78gEm3U%> zCqR|iX7(1KX{Xr(`ZGhbM)n(MI8jT_9WvfTqn%goSiGGRwEz>dn`81UQFBZt=*NeA z#+eDH)*#bMkZLt}pCZnXR>{6V>d=6*w@62{@d>Jb`ZvJT%ZW5E}1E z@B<2!ZIckN3IT*rp=(5v<<&-N9&R%Wm=7Vp4DyDVf>LkM zd?e@RacM_;|JaMr>kQ(ydP%OcUgrFxl^piP#g#|7Nx$->?7?%_TOutu#S0hi5qz{a Z#Qj11G2gNomrLLTGT3lg^1B%X{{p8$ToC{O literal 1845 zcmah~&2Jk;6rVTy;q}H2!8L@I52ZAXvTYg{#0f&@(h zB$mx3y%U7QIXNQ!2M(M$a+)g=QvQWK@!ojj1S^oWX5O2bH^2G4H*cOlEf#%-pSbbU z=C7#zMT4`Cqq2l8S-?&(0c}=eAqaK|H7>ZYUa^`bY~i4^g)4F>9pQ;QN>}(|3}sHh zDhmpyh`_21Ab}qt=dnG+mds+O5MA&?{zJJBJvfFQJLV_s1b{umlfPgqYz-wMS=Fvz z5#e{0t)_T!ziY|ocLPh?oj8oNvnQJ>)NU9xIwA~s&6Q!?kxKJ##V<^{cuqQ5+3IYE zmAF}{@2ZYEh{Hufsgnz|VyI7{qL=~!Wu|x!12ah@ zUS^Z1!x`mM^7quiF0c%m&R3s4d9wNN@q-m@HMV2`+HP#srQtZ}h=TS9q-g0LjuXOR zAjh%4oX|9`39;zTARh4(c|Y6@*7-F`+&7HDFOCO{TRr-)s`rXD91TsdPif%=dQ zg@!Oqc>cs-9l`z|J+_Q;{dc-s0WF?vpyZjfGHGYh$)uafTqeCt<}>NHxcpg+iNY%; zipv=8KJW2k)`Ju1TME5@X(_vB9l~{U70OYr7%v-r$HVhq!~MUBi9QT$d;ewkI@|!lYw;tH69O~%3dA>z<;UX9t1ORmC+Lr{?jqyKmV+md_Erl>`@eG{^pW4lbwmj7e4@@obwbP75xG%{E z?Pb%6_A{-WC~YAX^SaF&(te{JH&wme?1tvSYA2S>NCkGy-s?zFbK9X(q0|;aXe-*? z9`Re}hYo%~Zdb8mFbMczeS&QV7tF^ftZHk$SJI&MnLKbST2ijpMo2FSybHbADrX|B+?F3Iu&zA1O6?s^N` W9kJUE7b({g0`V-5do$R$H}?-WZFj%` diff --git a/input.py b/input.py index debd9f5..966b45c 100755 --- a/input.py +++ b/input.py @@ -1,47 +1,86 @@ #!/usr/bin/env python3 from kb import write_str from kb import write_special +from kb import write_ctrl +from kb import clear from time import sleep from getch import _Getch +alpha = "ABCDEFGHIJKLMNOPQRSTUVWXYZ" +arrowkey = [x for x in "ABCD"] +arrowout = ["UP_ARROW", "DOWN_ARROW", "RIGHT_ARROW", "LEFT_ARROW"] +key = [x for x in "ABCDE7890134~2"] + + get = _Getch(); while True: input_key = get() print(input_key + ": " + str(ord(input_key))) #if input_key == "?": # break + if ord(input_key) > 0 and ord(input_key) <= 26: # ctrl + alpha + idx = ord(input_key) - 1 + letter = alpha[idx] + #write_special("LEFT_CTRL") + print("pressing CTRL + " + letter) + write_ctrl(letter) + clear() + continue + if ord(input_key) == 13: + write_special("ENTER") + clear() + continue if ord(input_key) == 127: write_special("BACKSPACE_DELETE") + clear() continue if ord(input_key) == 9: write_special("TAB") + clear() continue if ord(input_key) == 27: print("Special key detected!") - key = [x for x in "ABCDE7890134~2"] + #key = [x for x in "ABCDE7890134~2"] input_key = get() - #print(ord(input_key)) + print(input_key) + #if ord(input_key) == 91: + # input_key = get() + # #arrowkey = [x for x in "ABCD"] + # #arrowout = ["UP_ARROW", "DOWN_ARROW", "RIGHT_ARROW", "LEFT_ARROW"] + # write_special(arrowout[arrowkey.index(input_key)]) + # print("pressing " + arrowout[arrowkey.index(input_key)]) + # continue if ord(input_key) == 27: break if input_key == "[": again = False input_key = get() + print(input_key) if input_key != "[": - again = True + if input_key in arrowkey: + write_special(arrowout[arrowkey.index(input_key)]) + clear() + print("pressing " + arrowout[arrowkey.index(input_key)]) + continue + else: + again = True input_key = get() - # print(input_key) + print(input_key) num = key.index(input_key) + 1 if num == 13: # del print("pressing DEL") write_special("DELETE") + clear() continue if num == 14: print("pressing prtscr / sysrq") write_special("PRINT_SCREEN") + clear() get() continue print("pressing F" + str(num)) write_special("F" + str(num)) + clear() if again: get() #if int(input_key) > 0 and int(input_key) <= 9: diff --git a/kb.py b/kb.py index c0c960d..171ef84 100755 --- a/kb.py +++ b/kb.py @@ -14,7 +14,7 @@ def write_report(report): #write_report(NULL_CHAR*8) # Press SHIFT + a = A #write_report(chr(32)+NULL_CHAR+chr(4)+NULL_CHAR*5) - +#print(chr()) # Press b #write_report(NULL_CHAR*2+chr(5)+NULL_CHAR*5) # Release keys @@ -40,16 +40,18 @@ def write_report(report): # Release all keys #write_report(NULL_CHAR*8) +key = ")!@#$%^&*(" def write_char(char): write_report(NULL_CHAR*2+chr(char)+NULL_CHAR*5) def write_caps(char): write_report(chr(32)+NULL_CHAR+chr(char)+NULL_CHAR*5) +def write_ctrl(char): + write_report(chr(1)+NULL_CHAR+chr(keycodes.keycodelst[char])+NULL_CHAR*5) def write_str(word): for letter in word: - if letter == "!" or letter == "@" or letter == "#" or letter == "$" or letter == "%" or letter == "^" or letter == "&" or letter == "*" or letter == "(" or letter == ")": - key = [x for x in ")!@#$%^&*("] + if letter in ")!@#$%^&*(": num = key.index(letter) write_caps(keycodes.keycodelst[str(num)]) write_report(NULL_CHAR*8) @@ -97,9 +99,9 @@ def write_special(input): write_char(keycodes.keycodelst[input]) except: print("Unknown HID keycode") - finally: - write_report(NULL_CHAR*8) +def clear(): + write_report(NULL_CHAR*8) #write_str("root\n") #time.sleep(0.5) #write_str("qwertypass\n")