Skip to content

Commit 3669b48

Browse files
authored
Merge pull request #89 from JohnWinter13/master
Adjust key pressed behaviour when caps lock is on - closes #88
2 parents a7e9ec2 + b9dd782 commit 3669b48

File tree

3 files changed

+28
-16
lines changed

3 files changed

+28
-16
lines changed

src/Building.elm

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -426,7 +426,11 @@ update env msg ( model, pModel, sModel ) =
426426
( ( { model | machineState = Regular }, pModel, sModel ), False, Cmd.none )
427427

428428
KeyPressed k ->
429-
if k == "Enter" then
429+
let
430+
normalizedKey =
431+
String.toLower k
432+
in
433+
if normalizedKey == "enter" then
430434
--pressed enter
431435
case model.machineState of
432436
EditingStateLabel sId newLbl ->
@@ -464,7 +468,7 @@ update env msg ( model, pModel, sModel ) =
464468
_ ->
465469
( ( model, pModel, sModel ), False, Cmd.none )
466470

467-
else if k == "d" then
471+
else if normalizedKey == "d" then
468472
case model.machineState of
469473
SelectedState stId ->
470474
let
@@ -526,13 +530,13 @@ update env msg ( model, pModel, sModel ) =
526530
_ ->
527531
( ( model, pModel, sModel ), False, Cmd.none )
528532

529-
else if k == "g" then
533+
else if normalizedKey == "g" then
530534
( ( model, pModel, sModel ), False, sendMsg ToggleSnap )
531535

532536
else
533537
case model.machineState of
534538
SelectedState sId ->
535-
if k == "f" then
539+
if normalizedKey == "f" then
536540
let
537541
newMachine =
538542
{ oldMachine

src/Main.elm

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -241,17 +241,21 @@ update msg model =
241241
( model, Cmd.none )
242242

243243
KeyPressed k ->
244-
if k == "Shift" then
244+
let
245+
normalizedKey =
246+
String.toLower k
247+
in
248+
if normalizedKey == "shift" then
245249
( { model | environment = { oldEnvironment | holdingShift = True } }, Cmd.none )
246250

247-
else if k == "y" || k == "z" then
251+
else if normalizedKey == "y" || normalizedKey == "z" then
248252
let
249253
doUndo =
250-
(oldEnvironment.holdingControl || oldEnvironment.holdingMeta) && k == "z"
254+
(oldEnvironment.holdingControl || oldEnvironment.holdingMeta) && normalizedKey == "z"
251255

252256
doRedo =
253-
(oldEnvironment.holdingControl && k == "y")
254-
|| (oldEnvironment.holdingMeta && oldEnvironment.holdingShift && k == "z")
257+
(oldEnvironment.holdingControl && normalizedKey == "y")
258+
|| (oldEnvironment.holdingMeta && oldEnvironment.holdingShift && normalizedKey == "z")
255259
in
256260
( { model
257261
| appModel =
@@ -267,11 +271,11 @@ update msg model =
267271
, Cmd.none
268272
)
269273

270-
else if k == "Meta" then
274+
else if normalizedKey == "meta" then
271275
--pressed meta key
272276
( { model | environment = { oldEnvironment | holdingMeta = True } }, Cmd.none )
273277

274-
else if k == "Control" then
278+
else if normalizedKey == "control" then
275279
--pressed control
276280
( { model | environment = { oldEnvironment | holdingControl = True } }, Cmd.none )
277281
{- else if k == 66 then

src/Simulating.elm

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -336,15 +336,19 @@ update env msg ( model, pModel, sModel ) =
336336
( ( Default tId -1 Nothing {- ??? -}, { pModel | currentStates = epsTrans oldMachine.transitionNames oldMachine.delta oldMachine.start }, sModel ), False, Cmd.none )
337337

338338
KeyPressed k ->
339-
if k == "Enter" then
339+
let
340+
normalizedKey =
341+
String.toLower k
342+
in
343+
if normalizedKey == "enter" then
340344
case model of
341345
Editing tId ->
342346
( ( Default tId -1 Nothing, { pModel | currentStates = epsTrans oldMachine.transitionNames oldMachine.delta oldMachine.start }, sModel ), True, Cmd.none )
343347

344348
_ ->
345349
( ( model, pModel, sModel ), False, Cmd.none )
346350

347-
else if k == "Backspace" || k == "ArrowLeft" then
351+
else if normalizedKey == "backspace" || normalizedKey == "arrowleft" then
348352
case model of
349353
Editing tapeId ->
350354
let
@@ -375,15 +379,15 @@ update env msg ( model, pModel, sModel ) =
375379
_ ->
376380
( ( model, pModel, sModel ), False, Cmd.none )
377381

378-
else if k == "ArrowRight" then
382+
else if normalizedKey == "arrowright" then
379383
case model of
380384
Default _ _ _ ->
381385
( ( model, pModel, sModel ), False, Task.perform identity (Task.succeed <| Step) )
382386

383387
_ ->
384388
( ( model, pModel, sModel ), False, Cmd.none )
385389

386-
else if k == "ArrowLeft" then
390+
else if normalizedKey == "arrowleft" then
387391
case model of
388392
Default tId _ hErr ->
389393
( ( Default tId -1 hErr, { pModel | currentStates = sModel.machine.start }, sModel ), False, Cmd.none )
@@ -396,7 +400,7 @@ update env msg ( model, pModel, sModel ) =
396400
Editing tapeId ->
397401
let
398402
charCode =
399-
case k of
403+
case normalizedKey of
400404
"a" ->
401405
0
402406

0 commit comments

Comments
 (0)