Don't use the sf::Keyboard with in the event loop, otherwise the checks will only happen when an event is triggered, which doesn't make sense, since sf::Keyboard doesn't have anything to do with events...
To 'bounce' a ball you can simply negate the X or Y speed, depending if it hits the top or botton (Y) or left or right (X).