Keswick sounds about right for what you described. I find it a bit touristy but to be fair, if you're want to go to the lakes, it's gonna be touristy.
I was brought up in Cockermouth, right on the edge of the Lake District.
I can't really think of anywhere other than Keswick that meets the criteria you set out. Windermere, Bowness and Hawkshead are pretty small and full of posh south lakes c*nts.
Ambleside and Keswick are the major tourist towns and offer the best options for easy access to the countryside with plenty of pubs, cafes and restaurants. There really isn't anywhere else of that size in the lakes. Penrith, Kendal, Cleator Moor and Egremont are all outside the lakes and pretty grim. Cockermouth is about the only other option, it's quite a nice town and not as toursity as Keswick but then it's a bit further from the Lakes.
As far as walking or mountain biking goes, you can't go wrong with Keswick as there's loads to do either walking out form the town or taking the car down Borrowdale or into the next valleys. There's also loads of variety from strenuous stuff like hiking up Skiddaw or Cat Bells to marked trails around Whinlatter and Dodd Wood. Can't recommend it highly enough if that's your thing.
I haven't been to any of the pubs in Keswick for years so can't really recommend any but there's a few nice cafes and bars dotted around the town. Generally Jennings pubs do ok food (but don't quote me on that) and sell the local beer (brewed in Cockermouth - you can still do the brewery tour on weekdays I think).
Outside of Keswick, The Pheasant Inn on the side of Bassenthwaite used to do good grub (this was years ago mind) and if you want a really posh dinner there's Armathwaite Hall but I think you'd have to book. I can't think of anymore to say about Keswick off the top of my head but I'll try to answer any other questions you have.
Enjoy!