At the 2012 Summer Olympics in London, he competed in the men's 400-metre freestyle, finishing in 14th place in the heats, failing to reach the final.
[4] At the 2012 Summer Olympics held in London, United Kingdom, he competed in the 400 metre freestyle, finishing fifth in his heat and 14th overall with a time of 3:48.57, but failing to qualify for the final.
[4] In 2013 he competed at the 15th FINA World Championships held in Barcelona, Spain, where he placed 12th in the 400 metre freestyle and was part of an Australian quartet, alongside Ned McKendry, Alexander Graham and Jarrod Killey, which failed to advance to the final of the 4 × 200 metre freestyle relay after placing ninth in the heats.
[6] Alongside Cameron McEvoy, Ned McKendry and Thomas Fraser-Holmes he set a Commonwealth Games record to win the gold medal in the 4 × 200 metre freestyle relay.
[6] In April 2016 McKeon was selected as part of the Australian team for the 2016 Summer Olympics due to be held in Rio de Janeiro, Brazil.