Is there any way to get text/char input that takes shift ctrl etc into account when returning the character? and also returns space as " " and not as the word?
public boolean checkKey(String key) { if (key == null) if (Greenfoot.getKey() != null) return true; else return false; if (Greenfoot.isKeyDown(key)) { if (! pressed_keys.contains(key)) { pressed_keys.add(key); return true; } } else { pressed_keys.remove(key); } return false; } public String getCurrentKey() { String key = Greenfoot.getKey(); if (!checkKey(key)) return ""; if (key.equals("shift") || key.equals("control") || key.equals("enter") || key.equals("tab") || key.equals("backspace") || key.equals("up") || key.equals("down") || key.equals("left") || key.equals("right") || key.equals("escape") ) return ""; for (int i = 0; i < 12; i ++) { if (key.equals("F"+i)) return ""; } if (key.equals("space")) return " "; if (Greenfoot.isKeyDown("shift")) { return key.toUpperCase(); } else return key; }
String someString = ""; //... String key = Greenfoot.getKey(); if (key != null) { if ("space".equals(key)) someString += " "; //else if ("...what ever you also want to do something special...".equals(key)) ... else if (key.length() > 1) {} //ignore everything else with more than a single character else someString += key; }