The Edinburgh-born forward underwent a medical at the DW Stadium last week and is now officially a Wigan player after putting pen to paper.
He leaves Hearts after 14 years having come through the club's youth academy since childhood. He played 181 games for the Tynecastle side and scored 40 goals but told them last year he would not sign a new contract.
Ahead of his deal expiring this summer, Hearts agreed to an immediate transfer for around Â£300,000.
"I am grateful for the opportunity and excited by the challenge," Walker told Wigan's official club website.
"I am delighted to be here. It has been on the cards for a while but I am delighted to now get it over the line and concentrate on playing my football.
"I have been at Hearts a long time, it’s a great club with great people and I played a lot of games there and scored a lot of goals.
"This is a good change for me and certainly a club where I can progress my career. I am delighted to be here and hopefully I can kick on.
"I had a few clubs sniffing around but as soon as I came here, saw the facilities, met the manager, watched the game and saw how the manager wants us to play and how that will suit me perfectly, I chose here.
"The team are flying high at the top of the table and hopefully going to the Championship – hopefully I can get into the team and contribute a few goals."
Walker won't begin training with his new team-mates until later this month after suffering an injury playing for Hearts against Hibs two weeks ago.
"I came down and had the medical and that’s all okay,” the player continued. "I just have a little knock that I took in the derby in my last game for Hearts. Hopefully I will be back playing in a couple of weeks and I’ll get out there and see the fans.
"I can play anywhere across the three front positions, as a No.10 or left or right. I like to get on the ball and make things happen."