From 6560445ebc3545d48f4c322cb6337d5b93c327d1 Mon Sep 17 00:00:00 2001 From: DerGenaue Date: Sat, 19 Dec 2015 02:35:12 +0100 Subject: [PATCH 1/3] Tutor Remote Protocol v2 + C# Client --- C#Client/TutorRemoteClient.exe | Bin 0 -> 273408 bytes JS/index.html | 295 ++------------------------------- JS/remote.js | 202 ++++++++++++++++++++++ JS/style.css | 137 +++++++++++++++ Server/TutorRemote.hs | 95 ++++++----- 5 files changed, 411 insertions(+), 318 deletions(-) create mode 100644 C#Client/TutorRemoteClient.exe create mode 100644 JS/remote.js create mode 100644 JS/style.css diff --git a/C#Client/TutorRemoteClient.exe b/C#Client/TutorRemoteClient.exe new file mode 100644 index 0000000000000000000000000000000000000000..989e9203d911e91d585e7f8d4d02d0fbf7f095f0 GIT binary patch literal 273408 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 z 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 aR=NBmBCth4_%(fH_8Y>xl56aNoUto~X6 literal 0 HcmV?d00001 diff --git a/JS/index.html b/JS/index.html index a047418..48e70a0 100644 --- a/JS/index.html +++ b/JS/index.html @@ -4,294 +4,31 @@ TutorRemote - - - - - - - - - - - + + - +

TutorRemote

-
Connecting...
+
Output Token:
Your Token is: undefined
+
Connecting...
- +

Send Text

- -

Input Keyboard Layout

- Disable mapping
- Ansi
- German



- +
+ +
+ + + + +
+ +
diff --git a/JS/remote.js b/JS/remote.js new file mode 100644 index 0000000..364d434 --- /dev/null +++ b/JS/remote.js @@ -0,0 +1,202 @@ +var socket; +var conState; +var dest = ""; + +var sCharMap = {}; +sCharMap["8"] = "Bksp"; +sCharMap["9"] = "Tab"; +sCharMap["13"] = "Enter"; +sCharMap["27"] = "Esc"; +sCharMap["33"] = "PgUp"; +sCharMap["34"] = "PgDn"; +sCharMap["35"] = "End"; +sCharMap["36"] = "Home"; +sCharMap["37"] = "Left"; +sCharMap["38"] = "Up"; +sCharMap["39"] = "Right"; +sCharMap["40"] = "Down"; +sCharMap["45"] = "Ins"; +sCharMap["46"] = "Del"; + + +function isCombo(event){ + return (event.ctrlKey && !event.altKey) || (!event.ctrlKey && event.altKey) || + ( + (event.charCode == undefined || event.charCode == 0) && + (event.key == undefined || event.key.length > 1) && + (""+event.keyCode) in sCharMap + ); +} +function sendKey(event){ + if(event.target.id == "textinput" || event.target.id == "outputT") + return; + + //document.getElementById("textinput").value += "\nKey: "+isCombo(event)+" "+event.keyCode+" "+event.charCode+" "+event.key+" "+event.keyIdentifier; + + if(isCombo(event)) // goes to sendCombo anyway + return; + + //prevent browser interpretation of the keypresses in some cases + event.preventDefault(); + + var kString = ""; + var tString = ""; + if(event.key != undefined){ + tString = "key"; + if(event.key.length == 1){ + var ch = event.key.charCodeAt(0).toString(16); + kString = ("U+" + "0000".substring(ch.length) + ch).toUpperCase(); + } + else{ + return; // yes, that's a single-Key-Combo :( + } + }else if(event.charCode != undefined && event.charCode != 0){ + tString = "charCode"; + var ch = event.charCode.toString(16); + kString = ("U+" + "0000".substring(ch.length) + ch).toUpperCase(); + }else{ + console.log("Could not get Key Type"); + return; + } + console.log("Key: "+tString+": "+kString); + send("CHAR: " + kString); +} +function sendCombo(event){ + if(event.target.id == "textinput" || event.target.id == "outputT") + return; + + //document.getElementById("textinput").value += "\nCmb: "+isCombo(event)+" "+event.keyCode+" "+event.charCode+" "+event.key+" "+event.keyIdentifier; + + if(!isCombo(event)) // goes to sendKey anyway + return; + + //prevent browser interpretation of the keypresses in some cases + event.preventDefault(); + + var kString = ""; + var tString = ""; + if(""+event.keyCode in sCharMap){ + tString = "map"; + kString = sCharMap[""+event.keyCode]; + }else if(event.ctrlKey || event.metaKey){ + tString = "ctrl"; + switch(String.fromCharCode(event.keyCode)){ + case 'C': kString = 'Copy'; break; + case 'X': kString = 'Cut'; break; + case 'V': kString = 'Paste'; break; + case 'Z': kString = 'Back'; break; + case 'Y': kString = 'Forward'; break; + case 'A': kString = 'All'; break; + case 'N': kString = 'New'; break; + default: return; + } + }else if(event.altKey){ + tString = "alt"; + switch(String.fromCharCode(event.keyCode)){ + default: return; + } + }else{ + console.log("Could not get Key Type"); + return; + } + var mod = (event.ctrlKey?"[CTRL]":"") + (event.shiftKey?"[SHFT]":""); + + console.log("Combo: "+tString+": "+mod+kString); + send("CHAR: " + mod + " " + kString); +} +function sendFallback(){ + if(document.getElementById("keyboardFetcher").value == "") + return; + //document.getElementById("textinput").value += "\nFallback!"; + send("TEXT: " + document.getElementById("keyboardFetcher").value); + document.getElementById("keyboardFetcher").value = ""; +} +function sendCursor(cur){ + send("CHAR: " + sCharMap[""+(37+cur)]); +} +function sendBksp(cur){ + send("CHAR: " + sCharMap["8"]); +} +function setUp(){ + conState = document.getElementById("conState"); + var timeout = null; + + socket = new WebSocket("ws://denkaktiv.de:9160/", "tutorremote"); + socket.onopen = function (event) { + socket.send("INPUTINIT"); + conState.className = "searching"; + conState.innerHTML = "Connecting to Output Token"; + testToken(); + }; + socket.onerror = function (error) { + conState.className = "error"; + conState.innerHTML = "Error... Connection failed"; + }; + socket.onclose = function (event) { + conState.className = "closed"; + conState.innerHTML = "Connection closed"; + }; + socket.onmessage = function (event) { + var ctrl = event.data.split(": "); + switch(ctrl[1]){ + case "TOKN": updateToken(ctrl[2]); break; + case "TICK": + window.clearTimeout(timeout); + timeout = window.setTimeout(function(){ + conState.className = "ready"; + conState.innerHTML = "Token OK!"; + }, 2000) + conState.className = "active"; + conState.innerHTML = "Active! You can type now!"; + break; + case "DING": + conState.className = "ready"; + conState.innerHTML = "Token OK"; + console.log(ctrl[2]); + break; + case "NOPE": + conState.className = "searching"; + conState.innerHTML = "Connecting to Output Token"; + console.log("NOPE: "+ctrl[2]); + break; + default: break; + } + //console.log(" --------- " + event.data); + }; +} +function close(){ + socket.close(); + console.log("end"); +} +function updateToken(token){ + document.getElementById("tokenField").innerHTML = token; +} + +function testToken(){ + dest = document.getElementById('outputT').value.toUpperCase(); + send("TEST: Blablub"); + console.log("TEST"); + conState.className = "searching"; + conState.innerHTML = "Connecting to Output Token"; +} +function requestActivation(){ + send("SNMA: Senpai Notice Me Already!"); + console.log("Senpai Notice Me Already!"); + conState.innerHTML = "Requesting Activation..."; +} +function sendText(){ + send("TEXT: " + document.getElementById("textinput").value); + console.log("TEXT"); + document.getElementById("textinput").value = ""; +} +function sendReset(){ + send("RESETMOD"); + console.log("RESETMOD"); +} +function send(msg){ + socket.send(dest+": "+msg); + conState.className += " send"; + window.setTimeout(function(){conState.className = conState.className.replace(/ send/g, '');}, 10); +} +window.onload = setUp; +window.onunload = close; diff --git a/JS/style.css b/JS/style.css new file mode 100644 index 0000000..2bfb0b7 --- /dev/null +++ b/JS/style.css @@ -0,0 +1,137 @@ +h1, h3 { + text-align: center; +} +h3 { + margin-top: 2em; +} + +div.floatEnd { + clear: both; +} +div#content { + margin: 2%; + margin-top: 3em; + text-align: center; +} + +div#output, div#token, div#conState { + box-sizing: border-box; + margin: 0 2%; + padding: 1em .5em; + width: 30%; + + text-align: center; + vertical-align: middle; + border: 1px solid #888; + border-radius: .3em; +} +div#output { + float: left; + background-color: #eee; +} +div#output #outputT { + display: inline-block; + box-sizing: border-box; + width: 5em; + height: 2em; + padding: 0 .5em; + text-align: center; + font-size: inherit; +} +div#token { + float: right; + background-color: #eee; +} +div#token #tokenField { + display: inline-block; + box-sizing: border-box; + padding: .5em .5em; + height: 2em; + text-align: center; + background-color: #fafafa; +} +div#conState { + margin-left: auto; + margin-right: auto; + + padding: 1.5em .6em; + line-height: 1em; + + cursor: pointer; + + -webkit-transition: border-color .2s; + transition: border-color .2s; +} + +div#conState.connect { + background-color: #fda; +} +div#conState.searching { + background-color: #ffa; +} +div#conState.ready { + background-color: #dfa; +} +div#conState.active { + background-color: #afa; +} +div#conState.error { + background-color: #faa; +} +div#conState.closed { + background-color: #aaa; +} + +div#conState.send { + border-color: #ff0; + -webkit-transition: border-color 0s; + transition: border-color 0s; +} + +textarea#textinput { + box-sizing: border-box; + width: 100%; +} +input#keyboardFetcher { + box-sizing: border-box; + text-align: center; + width: 100%; +} +div#lowerC { + display: inline-block; + margin: 1em 0; +} +div#lowerC > div{ + vertical-align: middle; + display: inline-block; +} +div#lowerC > button{ + vertical-align: middle; + display: inline-block; +} +button#sendText { + display: block; + padding: .5em 2em; +} + +div#cursor { +} +div#cursor button, button#bksp { + background-color: transparent; + border: none; + font-weight: bold; + font-size: 1.5em; +} +div#cursor button:active, button#bksp:active { + color: #680; +} +div#cursor #up, div#cursor #down { + display: block; + width: 100%; + margin: -.2em 0 -.15em; +} +div#cursor #left, div#cursor #right { + display: inline-block; + padding: 0 0.5em; + margin: 0 0; +} \ No newline at end of file diff --git a/Server/TutorRemote.hs b/Server/TutorRemote.hs index f53feb3..dadf3e6 100644 --- a/Server/TutorRemote.hs +++ b/Server/TutorRemote.hs @@ -1,4 +1,4 @@ -module Main where +module Main where import Control.Exception (finally) import Control.Monad (forM_, forever, when, liftM) @@ -14,24 +14,41 @@ import qualified Network.WebSockets as WS type Token = String -type Client = (Either Token Token, WS.Connection) +data InOut = Input | Output deriving (Read, Show, Eq) + +type Client = (Token, InOut, WS.Connection) +tokenOf :: Client -> Token +tokenOf (t,_,_) = t --(Clientlist, Filtertoken) -type ServerState = ([Client], Maybe Token) +type ServerState = [Client] newServerState :: ServerState -newServerState = ([], Nothing) +newServerState = [] + +tokenLength = 6 removeClient :: Client -> ServerState -> ServerState -removeClient (tkn, _) (cs, filtr) = (filter ((/= tkn) . fst) cs, filtr) +removeClient (tkn, _, _) cs = filter ((/= tkn) . tokenOf) cs -sendToReceivers :: T.Text -> ServerState -> IO () -sendToReceivers message (cs, filtr) = forM_ cs (\(tkn, conn) ->when (isRight tkn) (WS.sendTextData conn message)) +sendToReceivers :: Token -> Token -> InOut -> T.Text -> ServerState -> IO () +sendToReceivers to from inout message cs = forM_ cs (\(tkn, io, conn) -> when (inout /= io && tkn == to) (WS.sendTextData conn (T.pack $ from ++ ": " ++ T.unpack message))) -main :: IO () -main = do - state <- newMVar newServerState - WS.runServer "0.0.0.0" 9160 $ application state +consList = ['F','H','K','L','M','P','R','S','T','W','X','Z'] +vocList = ['A','E','I','O','U'] + +makeToken l = makeToken' True l + where makeToken' c (x:xs) = if c then consList !! x : makeToken' False xs + else vocList !! (x `mod` length vocList) : makeToken' True xs + +getNewToken state = do + cs <- readMVar state + tokGen <- liftM (randomRs (0, length consList - 1)) getStdGen + let newToken = makeToken tokGen + let short = take tokenLength newToken + case findIndex (\(t,_,_) -> short == t) cs of + (Just _) -> getNewToken state + (Nothing) -> return short application :: MVar ServerState -> WS.ServerApp application state pending = do @@ -41,36 +58,36 @@ application state pending = do if msg /= T.pack "OUTPUTINIT" && msg /= T.pack "INPUTINIT" then WS.sendTextData conn (T.pack "Wrong opening statement" :: T.Text) else do - newToken <- getNewToken state (msg == T.pack "OUTPUTINIT") - let client = ((if msg == T.pack "OUTPUTINIT" then Right else Left) newToken,conn) - flip finally (disconnect client) $ do - modifyMVar_ state (\(cs, filtr) -> return (client:cs, filtr) ) - WS.sendTextData conn (T.pack ("TOKN: " ++ newToken)) - putStrLn ((show.fst) client ++ " connected") - (_, filtr) <- readMVar state - when ((isRight.fst) client) (WS.sendTextData conn (T.pack ("FLUP: " ++ fromMaybe "" filtr))) + newToken <- getNewToken state + let client = (newToken, (if msg == T.pack "OUTPUTINIT" then Output else Input), conn) + flip finally (disconnect client) $ + do + modifyMVar_ state (\cs -> return (client:cs) ) + WS.sendTextData conn (T.pack ((take tokenLength $ repeat '0') ++ ": TOKN: " ++ newToken)) + putStrLn ((show.tokenOf) client ++ " connected") relay conn state client where - disconnect client = modifyMVar state (\s -> let s' = removeClient client s in return (s', s')) >> putStrLn ((show.fst) client ++ " disconnected") - getNewToken state right = do - (cs, filtr) <- readMVar state - newToken <- liftM (randomRs ('A','Z')) getStdGen - let short = take 4 newToken - case findIndex (\(t,c) -> (if right then Right else Left) short == t) cs of - (Just _) -> getNewToken state right - (Nothing) -> return short + disconnect client = modifyMVar state (\s -> let s' = removeClient client s in return (s', s')) >> putStrLn ((show.tokenOf) client ++ " disconnected") + relay :: WS.Connection -> MVar ServerState -> Client -> IO () -relay conn state (tkn, _) = forever $ do +relay conn state (tkn, inout, _) = forever $ do msg <- WS.receiveData conn - (putStrLn. T.unpack) msg - case tkn of - (Left tkn) -> do - (cls, filtr) <- readMVar state - when (maybe True (tkn ==) filtr) (sendToReceivers msg (cls, filtr)) - (Right tkn) -> when (T.pack "FLUP: " `T.isPrefixOf` msg) ( do - let newFltr = T.drop 6 msg - modifyMVar_ state (\(cs, filtr) -> return (cs, if T.length newFltr > 0 then (Just. T.unpack) newFltr else Nothing)) - (cls, filtr) <- readMVar state - sendToReceivers msg (filter ((/=)(Right tkn).fst) cls, filtr) - ) + cls <- readMVar state + let (to, t1) = T.breakOn (T.pack ": ") msg + let tot = T.unpack to + let text = T.drop 2 t1 + putStrLn (tkn ++ " -> " ++ tot ++ " : " ++ (T.unpack text)) + if any (\(tkn, io, conn) -> (inout /= io && tkn == tot)) cls then + sendToReceivers tot tkn inout text cls + else + WS.sendTextData conn (T.pack ((take tokenLength $ repeat '0') ++ ": NOPE: No Endpoint")) + + + + + +main :: IO () +main = do + state <- newMVar newServerState + WS.runServer "0.0.0.0" 9160 $ application state \ No newline at end of file From 81f64871f76e19017798e00f31da583ee75811f4 Mon Sep 17 00:00:00 2001 From: DerGenaue Date: Tue, 22 Dec 2015 22:18:03 +0100 Subject: [PATCH 2/3] Improved Tons of stuff --- C#Client/TutorRemoteClient.exe | Bin 273408 -> 273408 bytes JS/index.html | 2 +- JS/remote.js | 28 +++++++++++++++++++++++++--- JS/style.css | 6 ++++++ 4 files changed, 32 insertions(+), 4 deletions(-) diff --git a/C#Client/TutorRemoteClient.exe b/C#Client/TutorRemoteClient.exe index 989e9203d911e91d585e7f8d4d02d0fbf7f095f0..43b777e2b99d4ee173c54fb5910785deb89f9994 100644 GIT binary patch delta 12213 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
- +

Send Text

diff --git a/JS/remote.js b/JS/remote.js index 364d434..307576e 100644 --- a/JS/remote.js +++ b/JS/remote.js @@ -1,7 +1,11 @@ +var server = "ws://_server_:9160/"; + var socket; var conState; var dest = ""; +var lastReq = 0; + var sCharMap = {}; sCharMap["8"] = "Bksp"; sCharMap["9"] = "Tab"; @@ -121,7 +125,7 @@ function setUp(){ conState = document.getElementById("conState"); var timeout = null; - socket = new WebSocket("ws://denkaktiv.de:9160/", "tutorremote"); + socket = new WebSocket(server, "tutorremote"); socket.onopen = function (event) { socket.send("INPUTINIT"); conState.className = "searching"; @@ -142,21 +146,26 @@ function setUp(){ case "TOKN": updateToken(ctrl[2]); break; case "TICK": window.clearTimeout(timeout); + addClass(document.getElementById('keyboardFetcher'), 'active'); timeout = window.setTimeout(function(){ conState.className = "ready"; conState.innerHTML = "Token OK!"; + rmClass(document.getElementById('keyboardFetcher'), 'active'); }, 2000) conState.className = "active"; conState.innerHTML = "Active! You can type now!"; + rmClass(document.getElementById('outputT'), 'needed'); break; case "DING": conState.className = "ready"; conState.innerHTML = "Token OK"; + rmClass(document.getElementById('outputT'), 'needed'); console.log(ctrl[2]); break; case "NOPE": conState.className = "searching"; conState.innerHTML = "Connecting to Output Token"; + addClass(document.getElementById('outputT'), 'needed'); console.log("NOPE: "+ctrl[2]); break; default: break; @@ -178,8 +187,12 @@ function testToken(){ console.log("TEST"); conState.className = "searching"; conState.innerHTML = "Connecting to Output Token"; + addClass(document.getElementById('outputT'), 'needed'); } function requestActivation(){ + var time = new Date().getTime(); + if(time - lastReq < 5000) return; + lastReq = time; send("SNMA: Senpai Notice Me Already!"); console.log("Senpai Notice Me Already!"); conState.innerHTML = "Requesting Activation..."; @@ -195,8 +208,17 @@ function sendReset(){ } function send(msg){ socket.send(dest+": "+msg); - conState.className += " send"; - window.setTimeout(function(){conState.className = conState.className.replace(/ send/g, '');}, 10); + addClass(conState, "send"); + window.setTimeout(function(){rmClass(conState, 'send');}, 10); +} + +function addClass(el, cl){ + if(el.className.indexOf(cl) >= 0) return; + el.className += " "+cl; +} +function rmClass(el, cl){ + el.className = el.className.replace(cl, '').trim(); } + window.onload = setUp; window.onunload = close; diff --git a/JS/style.css b/JS/style.css index 2bfb0b7..25df7b3 100644 --- a/JS/style.css +++ b/JS/style.css @@ -38,6 +38,9 @@ div#output #outputT { text-align: center; font-size: inherit; } +div#output #outputT.needed { + background-color: #faa; +} div#token { float: right; background-color: #eee; @@ -97,6 +100,9 @@ input#keyboardFetcher { text-align: center; width: 100%; } +input#keyboardFetcher.active { + background-color: #efe; +} div#lowerC { display: inline-block; margin: 1em 0; From 5f3e72bf34ba50d7c92c110816530be020079ccc Mon Sep 17 00:00:00 2001 From: DerGenaue Date: Thu, 24 Dec 2015 03:33:46 +0100 Subject: [PATCH 3/3] C# Client now works with Mono on MAC (What a workaround...) --- C#Client/TutorRemoteClient.exe | Bin 273408 -> 280576 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/C#Client/TutorRemoteClient.exe b/C#Client/TutorRemoteClient.exe index 43b777e2b99d4ee173c54fb5910785deb89f9994..7b1af295dfe1d1a2a7c1cd56a48527a78f4e4db3 100644 GIT binary patch delta 21353 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