         else {
             return self.keyGapLandscapeNormal
         }
+    }
+    
+    static func lastRowKeyGapLandscape(width: CGFloat) -> CGFloat {
+        return self.findThreshhold(self.lastRowKeyGapLandscapeArray, threshholds: self.lastRowKeyGapLandscapeWidthThreshholds, measurement: width)
     }
     
     static func keyboardIsShrunk(width: CGFloat) -> Bool {

        }
    }
    
    func layoutSpecialKeysRow(row: [Key], modelToView: [Key:KeyboardKey], gapWidth: CGFloat, leftSideRatio: CGFloat, spaceRatio: CGFloat, frame: CGRect) {
        assert(row.count == 4, "no support for more than 4 keys on bottom row yet")
        
        let keyCount = row.count
        let leftSideWidth = (frame.width * leftSideRatio)
        let leftSideIndividualKeyWidth = (leftSideWidth - gapWidth) / CGFloat(2)
        let spaceWidth = (frame.width * spaceRatio)
        let otherKeyWidth = (frame.width - leftSideWidth - spaceWidth - gapWidth * CGFloat(2))
        
        var currentOrigin = frame.origin.x
        var beforeSpace: Bool = true


import UIKit

// TODO: need to rename, consolidate, and define terms
struct layoutConstants {
    static let landscapeRatio: CGFloat = 2
    
