private static void detectMoves(LinkedList<Integer> inputBuffer) {
		int srk[] = {68, 83, 68, 80};
		int maxDistance = 10;
		
		LinkedList<Integer> firstInputIndexes = new LinkedList<Integer>();
		List<Integer> fiAux = inputBuffer;
		int fInput = srk[0];
		
		for (int i = fiAux.indexOf(fInput); i > -1; i = fiAux.indexOf(fInput)) {
			Integer last = 0;
			try {
				last = firstInputIndexes.getLast();
			} catch (NoSuchElementException e) {}
			
			firstInputIndexes.offer(i+last);
			fiAux = fiAux.subList(i+1, fiAux.size());
		}
		

		for (Integer firstInput : firstInputIndexes) {
			
			//verifica a partir do primeiro input ja encontrado no loop acima
			int lastIndex = firstInput;
			List<Integer> aux = inputBuffer.subList(lastIndex, inputBuffer.size());
			boolean found = false;
			boolean moveInputted = true;
			
			for (int i = 0; i < srk.length; i++) {
				int moveInput = srk[i];
				found = false;
				
				for (int j = 0; j < maxDistance && j < aux.size(); j++) {
					Integer input = aux.get(j);
					if (input.intValue() == moveInput) {
						lastIndex = aux.indexOf(input);
						found = true;
					}
				}
				
				if (!found) {
					moveInputted = false;
					break;
				}
				
				aux = aux.subList(lastIndex, aux.size());
			}
			
			if (moveInputted) {
				Logger.log("SHOOORYUUKEN!!", Logger.INFO);
			}
		}
	}