spritekitを用いたMac向けのアプリでキーボードの同時入力を処理したい

こちらの質問に関係する話になりますので、ご参照ください。

一度は解決した問題でしたが、ここで困ったことが起こりました。
これでは確かに数値を単純にいじるだけであれば問題ないのですが、WASD移動に加えて左シフトのホールドによるスニーク(低速移動)を実装しようとした時に動作しないことは自明です。

どのようにすれば2つ以上のキーが押されている状態であるかを取得することができるのでしょうか